JAVA & XML & JAVASCRIPT & AJAX & CSS

          Web 2.0 技術(shù)儲備............

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            77 隨筆 :: 17 文章 :: 116 評論 :: 0 Trackbacks
          很久沒把自己做的東西拿出來和大家分享了,今天總算想到可以寫一些東西了。嘿嘿
          美女圖片爬蟲程序很簡單,就是從目標(biāo)網(wǎng)站上將一些美女圖片抓取下來,并按文件夾的方式歸類存放。
          現(xiàn)在以 http://www.36mn.com/網(wǎng)站為例,將論壇上面的一個個圖片抓取下來慢慢欣賞。

          程序說明:
          com.th.spider.Main 運行這個抓取美女圖片
          com.th.spider.test.* 樣例程序
          com.th.spider.CookieLogin 模擬登陸實例
          com.th.spider.Clean 清除沒圖片的目錄和無效圖片目錄

          用技術(shù)創(chuàng)造快感?。。。?嘿嘿


          下載資源:
          圖片抓取代碼.zip         網(wǎng)絡(luò)爬蟲原理與實戰(zhàn)PPT.zip

          主要技術(shù):
          Jsoup、HttpClient.

          配置說明:
          config.properties

          #保存目錄
          save.dir=D:/GIRL
          #網(wǎng)站根路徑#
          url.base=http://www.36mn.com/
          #URL訪問模板
          url.template=http://www.36mn.com/forum-62-#page#.html

          #開始PAGE 替換url.template中page參數(shù)#
          page.start=1
          #結(jié)束PAGE 替換url.template中page參數(shù)#
          page.end=2

          #線程池大小,并發(fā)抓取圖片的最大線程數(shù)#
          thread.pool.size=50

          配置中的page.start 和 page.end 指定了抓取論壇開始頁到結(jié)束頁,如果想抓取整個論壇的就page.start=1,page.end=100吧。
          配置目錄save.dir 默認(rèn)會創(chuàng)建一個D:/GIRL的目錄,用戶保存抓取圖片。圖片保存方式:D:/GIRL/頁號/帖子名/圖片名

          抓取思路:
          1.獲取論壇中的每個帖子標(biāo)題和連接。
          2.請求帖子連接返回帖子內(nèi)容。
          3.分析獲取圖片的URL。
          4.定位URL下載圖片到本地。

          論壇帖子列表 http://www.36mn.com/forum-62-1.html

          其中一個帖子內(nèi)容 http://www.36mn.com/thread-22672-1-2.htmll




          抓取結(jié)果




          posted on 2011-06-27 17:07 Web 2.0 技術(shù)資源 閱讀(4854) 評論(5)  編輯  收藏 所屬分類: JAVA 、原創(chuàng)作品 、其他東東

          評論

          # re: [原創(chuàng)]美女圖片爬蟲程序?qū)崙?zhàn)! 2011-06-27 18:45 thebye85
          寫這種程序真是動力十足啊,哈哈  回復(fù)  更多評論
            

          # re: [原創(chuàng)]美女圖片爬蟲程序?qū)崙?zhàn)! 2011-06-27 20:16 luobo
          用技術(shù)創(chuàng)造快感,呵呵  回復(fù)  更多評論
            

          # re: [原創(chuàng)]美女圖片爬蟲程序?qū)崙?zhàn)! 2011-06-28 08:30 日月雨林@gmail.com
          這個就是動力??!  回復(fù)  更多評論
            

          # re: [原創(chuàng)]美女圖片爬蟲程序?qū)崙?zhàn)!~用技術(shù)創(chuàng)造快感![未登錄] 2011-07-01 10:31 杜子
          問個問題,當(dāng)有代理的時候,我用HttpClient 后,用 HttpHost targetHost = new HttpHost(url);
          HttpHost proxy = new HttpHost("10.231.96.132", 808);
          httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);

          HttpGet httpget = new HttpGet("");
          HttpResponse response = httpclient.execute(targetHost, httpget);
          執(zhí)行后 System.out.println(response.getStatusLine()); 出現(xiàn)HTTP/1.1 404 /bbs.wed114.cn/data/attachment/forum/201105/08/174414bfl5qf6qfln3q7g3.jpg/& 后面老多個/& 怎么處理。
            回復(fù)  更多評論
            

          # re: [原創(chuàng)]美女圖片爬蟲程序?qū)崙?zhàn)!~用技術(shù)創(chuàng)造快感! 2011-07-01 10:51 Web 2.0 技術(shù)資源
          2.7. HttpClient proxy configuration
          Even though HttpClient is aware of complex routing scemes and proxy chaining, it supports only simple direct or one hop proxy connections out of the box.

          The simplest way to tell HttpClient to connect to the target host via a proxy is by setting the default proxy parameter:

          DefaultHttpClient httpclient = new DefaultHttpClient();

          HttpHost proxy = new HttpHost("someproxy", 8080);
          httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);

          One can also instruct HttpClient to use the standard JRE proxy selector to obtain proxy information:

          DefaultHttpClient httpclient = new DefaultHttpClient();

          ProxySelectorRoutePlanner routePlanner = new ProxySelectorRoutePlanner(
          httpclient.getConnectionManager().getSchemeRegistry(),
          ProxySelector.getDefault());
          httpclient.setRoutePlanner(routePlanner);

          Alternatively, one can provide a custom RoutePlanner implementation in order to have a complete control over the process of HTTP route computation:

          DefaultHttpClient httpclient = new DefaultHttpClient();
          httpclient.setRoutePlanner(new HttpRoutePlanner() {

          public HttpRoute determineRoute(
          HttpHost target,
          HttpRequest request,
          HttpContext context) throws HttpException {
          return new HttpRoute(target, null, new HttpHost("someproxy", 8080),
          "https".equalsIgnoreCase(target.getSchemeName()));
          }

          });

            回復(fù)  更多評論
            

          主站蜘蛛池模板: 成武县| 临安市| 白河县| 扎兰屯市| 绥滨县| 甘孜| 新泰市| 晋江市| 威信县| 抚松县| 泸溪县| 沙坪坝区| 都兰县| 科技| 绿春县| 巴南区| 四平市| 嘉定区| 土默特右旗| 瓦房店市| 松原市| 阿克苏市| 双桥区| 万载县| 武宁县| 泰安市| 巴楚县| 广元市| 张家川| 全南县| 同仁县| 开化县| 大埔区| 静安区| 宁远县| 海丰县| 凤山市| 逊克县| 连平县| 潢川县| 称多县|