分析要爬取的網頁原始碼:
1、開啟要分析的網頁,檢視原始碼,找到要爬取的內容:
(選擇網頁裡的一部分右擊審查元素也行)
2、匯入jar包,這個就直接去網上下吧;
3、寫爬蟲:
1 package com.gb.pachong;
2 import java.sql.SQLException;
3 import com.gb.util.AddNum;
4 import us.codecraft.webmagic.Page;
5 import us.codecraft.webmagic.Site;
6 import us.codecraft.webmagic.Spider;
7 import us.codecraft.webmagic.processor.PageProcessor;
8 public class BaikePaChong implements PageProcessor
9 {
10 private static String key;
11 public static String res=null;
12 // 抓取網站的相關配置,包括編碼、重試次數、抓取間隔
13 private Site site = Site.me().setRetryTimes(3).setSleepTime(1000);
14 public void run(String key)
15 {
16 this.key = key;
17 //addUrl就是種子url,Page物件就是當前獲取的頁面,getUrl()可以獲得當前url,addTargetRequests()就是把連結放入等待爬取,getHtml()獲得頁面的html元素
18 //啟動爬蟲
19 Spider.create(new BaikePaChong()).addUrl("https://baike.baidu.com/item/" + key).thread(5).run();
20 }
21 @Override
22 public Site getSite()
23 {
24 return site;
25 }
26 @Override
27 public void process(Page page)
28 {
29 //獲取頁面內容
30 res = page.getHtml().xpath("//meta[@name='description']/@content").toString();
31 //把包含資料新增到資料庫的方法的類例項化成物件
32 AddNum addNum=new AddNum();
33 try
34 {
35 //資料新增進資料庫
36 addNum.store(key, res);
37 }
38 catch (SQLException e)
39 {
40 e.printStackTrace();
41 }
42 }
43 public void search(String string)
44 {
45 BaikePaChong baikePaChong = new BaikePaChong();
46 baikePaChong.run(string);
47 }
48 public String getRes()
49 {
50 return res;
51 }
52 }
4、上面只是簡單的爬取,可以仿照這樣的方法進行一些別樣的擴充套件使用。
5、Xpath可以在這裡直接複製: