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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

网页抓取神器hawk使用心得

發(fā)布時(shí)間:2024/1/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网页抓取神器hawk使用心得 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

(1)抓取目的

現(xiàn)在網(wǎng)站有大量數(shù)據(jù),但網(wǎng)站本身并不提供api接口,如果要批量獲得這些頁(yè)面數(shù)據(jù),必須通過(guò)網(wǎng)頁(yè)抓取方式實(shí)現(xiàn)。
比如某房產(chǎn)網(wǎng)站的二手房數(shù)據(jù),在頁(yè)面上很整齊的展示,因此可以通過(guò)分析網(wǎng)頁(yè)的html源碼,找到總價(jià)、單價(jià)、位置、戶(hù)型等數(shù)據(jù),并最終實(shí)現(xiàn)批量抓取。

(2)抓取原理

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

2)得到html源碼后,就需要定位到各個(gè)數(shù)據(jù)的位置,比如“總價(jià)”,如下圖所示:

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

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

依此可以得到“單價(jià)”、“戶(hù)型”等字段的xpath,也就可以獲取1條發(fā)布信息的數(shù)據(jù)。

3)得到1條信息的數(shù)據(jù)后,一個(gè)頁(yè)面通常會(huì)顯示二三十條信息,可以發(fā)現(xiàn)這些信息的格式都是一致的,如下圖所示:

因此可以發(fā)現(xiàn)這些信息都在
/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]
……
基于此,通過(guò)基礎(chǔ)path+字段相對(duì)path就可以得到每個(gè)字段的絕對(duì)path,然后可以編程實(shí)現(xiàn)單個(gè)頁(yè)面的抓取功能了。

4)得到單個(gè)頁(yè)面的數(shù)據(jù)后,就可以實(shí)現(xiàn)多頁(yè)面抓取,假如網(wǎng)站有100頁(yè)數(shù)據(jù),通過(guò)觀察網(wǎng)站地址url可以發(fā)現(xiàn),一般第二頁(yè)就是 “xxx/page2”,第一百頁(yè)就是“xxx/page100”,因此這個(gè)也是很有規(guī)律的,修改下url就可以實(shí)現(xiàn)多頁(yè)面抓取了。

(3)hawk抓取

由于網(wǎng)頁(yè)抓取如此常見(jiàn),可以在網(wǎng)上搜到大量的抓取軟件,并不一定需要自己再開(kāi)發(fā)一個(gè)抓取軟件(寫(xiě)一個(gè)抓取軟件不難,寫(xiě)一個(gè)通用性強(qiáng)且好用的難),hawk就是一個(gè)相當(dāng)好用的抓取軟件。
hawk的介紹頁(yè)面:
https://github.com/ferventdesert/Hawk

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

1 生成區(qū)間數(shù) 2 合并多列 3 從爬蟲(chóng)轉(zhuǎn)換 4 寫(xiě)入數(shù)據(jù)表

具體操作可觀看主頁(yè)提供的視頻教程,其中第三步“從爬蟲(chóng)轉(zhuǎn)換”要設(shè)置網(wǎng)頁(yè)采集器的名稱(chēng)(視頻少了這個(gè)步驟),最后導(dǎo)出到Excel表,得到想要的數(shù)據(jù)。

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

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。