JAVA & XML & JAVASCRIPT & AJAX & CSS

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

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

          程序說(shuō)明:
          com.th.spider.Main 運(yùn)行這個(gè)抓取美女圖片
          com.th.spider.test.* 樣例程序
          com.th.spider.CookieLogin 模擬登陸實(shí)例
          com.th.spider.Clean 清除沒(méi)圖片的目錄和無(wú)效圖片目錄

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


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

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

          配置說(shuō)明:
          config.properties

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

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

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

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

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

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

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




          抓取結(jié)果




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

          評(píng)論

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

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

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

          # re: [原創(chuàng)]美女圖片爬蟲(chóng)程序?qū)崙?zhàn)!~用技術(shù)創(chuàng)造快感![未登錄](méi) 2011-07-01 10:31 杜子
          問(wèn)個(gè)問(wèn)題,當(dāng)有代理的時(shí)候,我用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/& 后面老多個(gè)/& 怎么處理。
            回復(fù)  更多評(píng)論
            

          # re: [原創(chuàng)]美女圖片爬蟲(chó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ù)  更多評(píng)論
            

          主站蜘蛛池模板: 嵊泗县| 尼勒克县| 铁岭市| 容城县| 永康市| 刚察县| 丁青县| 特克斯县| 保山市| 锡林郭勒盟| 沙坪坝区| 峡江县| 许昌市| 石柱| 凌云县| 肇源县| 家居| 富宁县| 辽宁省| 新化县| 娱乐| 德化县| 新巴尔虎右旗| 汾西县| 五寨县| 鄱阳县| 临颍县| 曲水县| 家居| 镶黄旗| 富阳市| 榕江县| 大洼县| 博罗县| 大理市| 河间市| 双柏县| 涟源市| 山阴县| 四平市| 磐石市|