是門語言就能做爬蟲,早期寫爬蟲的時候就用最簡單的腳本語言TC
,直接使用系統底層組件,速度上快,但是大部分普通爬蟲可能對快沒有什麼概念。所以無所謂快不快,但是系統底層組件來抓數據,就需要自己用正則去解析document
。
1、關於文檔解析,java
中有直接給你封裝了html
文檔解析的包jsoup
,jsoup
使用起來也很簡單。它使得你能像jquery
操作document
那樣操作請求回來的html
。
2、關於http
請求可以使用hutool
工具包,hutool
你可以做簡單的擴展將cookie
保存到redis
或者文件中,這樣即使你對象銷燬了,後面在創建還可以繼續保留之前的狀態,就像一個真正的瀏覽器。
maven 項目中引入如下依賴既可以使用這兩個方便快捷的包。再也不用去寫各種各樣的正則了。
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.13.1</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.2</version>
</dependency>
public static void csdnCrawler(){
//請求個人主頁
HttpResponse response = HttpUtil.createGet("https://blog.csdn.net/a807719447").execute();
//將請求回來的html轉成文檔
Document document = Jsoup.parse(response.body());
//文檔的操作。。。。
Elements elements = document.getElementsByClass("article-item-box csdn-tracking-statistics");
for (Element element : elements) {
System.out.println(element.children().get(0).children().get(0).text());
}
}
對就是這麼簡單。以上腳本就能拿到我的文章列表。