日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网页抓取神器hawk使用心得

發布時間:2024/1/18 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网页抓取神器hawk使用心得 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(1)抓取目的

現在網站有大量數據,但網站本身并不提供api接口,如果要批量獲得這些頁面數據,必須通過網頁抓取方式實現。
比如某房產網站的二手房數據,在頁面上很整齊的展示,因此可以通過分析網頁的html源碼,找到總價、單價、位置、戶型等數據,并最終實現批量抓取。

(2)抓取原理

1)首先要獲取網頁的html源碼,這個并不難,在瀏覽器里右擊菜單里選擇“查看網頁源代碼”就能看到html源碼,頁面上能看到的文字基本在都在html源碼里。

2)得到html源碼后,就需要定位到各個數據的位置,比如“總價”,如下圖所示:

可以看到“560”在html里能找到。

同時可以得到“總價”這個字段的xpath:
/html/body/div[4]/div[1]/ul/li[8]/div[1]/div[6]/div[1]/span
我們可以把html看成是一個標簽樹,xpath就是在標簽樹的尋找路徑。

依此可以得到“單價”、“戶型”等字段的xpath,也就可以獲取1條發布信息的數據。

3)得到1條信息的數據后,一個頁面通常會顯示二三十條信息,可以發現這些信息的格式都是一致的,如下圖所示:

因此可以發現這些信息都在
/html/body/div[4]/div[1]/ul/
路徑下
第1條就是/html/body/div[4]/div[1]/ul/li[1]
第2條就是/html/body/div[4]/div[1]/ul/li[2]
……
基于此,通過基礎path+字段相對path就可以得到每個字段的絕對path,然后可以編程實現單個頁面的抓取功能了。

4)得到單個頁面的數據后,就可以實現多頁面抓取,假如網站有100頁數據,通過觀察網站地址url可以發現,一般第二頁就是 “xxx/page2”,第一百頁就是“xxx/page100”,因此這個也是很有規律的,修改下url就可以實現多頁面抓取了。

(3)hawk抓取

由于網頁抓取如此常見,可以在網上搜到大量的抓取軟件,并不一定需要自己再開發一個抓取軟件(寫一個抓取軟件不難,寫一個通用性強且好用的難),hawk就是一個相當好用的抓取軟件。
hawk的介紹頁面:
https://github.com/ferventdesert/Hawk

關于hawk的詳細介紹,可以看其主頁,這里說一下個人使用心得:
1)hawk包含”網頁采集器”和”數據清洗”兩個模塊,網頁采集用于定位各個字段的xpath,數據清洗用于抓取數據,并對各個字段做一定的處理,以及導出數據。
2)網頁采集器模塊很好用,輸入url得到網頁html源碼后,在“搜索字符”里輸入比較典型的搜索文本,比如“農光南路雙朝南兩居室”后,hawk會在html里搜索這個字符串,獲取xpath。
“添加字段”后,再點擊“手氣不錯”會自動搜索出每條信息里包含的所有字段值,這個功能真的很強大,有點人工智能的效果了,網頁采集工作一次完成。
3)數據清洗模塊也很好用,個人用了其中4個模塊

1 生成區間數 2 合并多列 3 從爬蟲轉換 4 寫入數據表

具體操作可觀看主頁提供的視頻教程,其中第三步“從爬蟲轉換”要設置網頁采集器的名稱(視頻少了這個步驟),最后導出到Excel表,得到想要的數據。

hawk這個軟件功能很全,而且界面操作方便,支持很多的數據模塊,推薦使用。

總結

以上是生活随笔為你收集整理的网页抓取神器hawk使用心得的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。