網絡上有很多爬蟲框架結構也多種多樣但是基本結構就3個1下載器,2解析器,3處理器(基本所有爬蟲都是在這個結構上擴展的)。所以不論是用其他人的爬蟲框架還是自己的爬蟲只要理解這3個結構就能很好的使用爬蟲或開發爬蟲。
1.以下用的是SeimiCrawler爬蟲框架
簡單實例
添加maven依賴(已經同步到中央maven庫):
<dependency>
<groupId>cn.wanghaomiao</groupId>
<artifactId>SeimiCrawler</artifactId>
<version>0.1.0</version>
</dependency>
在包crawlers下添加爬蟲規則,例如:
@Crawler(name = "basic")
public class Basic extends BaseSeimiCrawler {
@Override
public String[] startUrls() {
return new String[]{"http://www.cnblogs.com/"};
}
@Override
public void start(Response response) {
JXDocument doc = response.document();
try {
List<Object> urls = doc.sel("//a[@class='titlelnk']/@href");
logger.info("{}", urls.size());
for (Object s:urls){
push(new Request(s.toString(),"getTitle"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void getTitle(Response response){
JXDocument doc = response.document();
try {
logger.info("url:{} {}", response.getUrl(), doc.sel("//h1[@class='postTitle']/a/text()|//a[@id='cb_post_title_url']/text()"));
//do something
} catch (Exception e) {
e.printStackTrace();
}
}
}
然後隨便某個包下添加啓動Main函數,啓動SeimiCrawler:
public class Boot {
public static void main(String[] args){
Seimi s = new Seimi();
s.start("basic");
}
}
2、實現圖片爬蟲和音樂爬蟲
1)、找到要爬取數據的頁面及地址加入startUrls方法
以上方法是下載對應urls文件
xpath解析xml(html)文件(各位可以看下http://www.w3school.com.cn/xpath/index.asp)瞭解下xpath解析文件規則。
上面xpath解析表示獲取所有超鏈接地址
獲取所有下級頁面中圖片的地址(音樂/數據都一個原則)
下載圖片方法
這樣就完成了圖片爬蟲和音樂爬蟲
運行這2個類中main方法即可爬取圖片和音樂
數據爬蟲
運行結果圖片
數據庫結果
代碼片段
爬取蘇寧易購商城頁面代碼
插入數據庫代碼
【爬蟲的代碼地址】https://download.csdn.net/download/u010740917/10908313