官术网_书友最值得收藏!

第8章
爬蟲庫Requests-HTML

8.1 簡介及安裝

Requests-HTML是在Requests的基礎(chǔ)上進一步封裝,兩者都是由同一個開發(fā)者開發(fā)。Requests-HTML除了包含Requests的所有功能之外,還新增了數(shù)據(jù)清洗和Ajax數(shù)據(jù)動態(tài)渲染。

數(shù)據(jù)清洗是由lxml和PyQuery模塊實現(xiàn),這兩個模塊分別支持XPath Selectors和CSS Selectors定位,通過XPath或CSS定位,可以精準地提取網(wǎng)頁里的數(shù)據(jù)。

Ajax數(shù)據(jù)動態(tài)渲染是將網(wǎng)頁的動態(tài)數(shù)據(jù)加載到網(wǎng)頁上再抓取。網(wǎng)頁數(shù)據(jù)可以使用Ajax向服務(wù)器發(fā)送HTTP請求,再由JavaScript完成數(shù)據(jù)渲染,如果直接向網(wǎng)頁的URL地址發(fā)送HTTP請求,并且網(wǎng)頁的部分數(shù)據(jù)是來自Ajax,那么,得到的網(wǎng)頁信息就會有所缺失。而Requests-HTML可以將Ajax動態(tài)數(shù)據(jù)加載到網(wǎng)頁信息,無需爬蟲開發(fā)者分析Ajax的請求信息。

Requests-HTML的安裝可使用pip指令完成,但Requests-HTML只支持Python 3.6以上的版本。本書以Python 3.7為例,在CMD窗口輸入安裝指令pip install requests-html,等待安裝完成即可。

在CMD窗口進入Python交互模式,通過導(dǎo)入requests-html模塊并輸出模塊里的屬性DEFAULT_URL的屬性值,從而驗證requests-html模塊是否安裝成功,如下所示:

主站蜘蛛池模板: 柏乡县| 定陶县| 都兰县| 祥云县| 兰溪市| 宜宾市| 湖州市| 隆回县| 安塞县| 山西省| 宣城市| 鄂州市| 环江| 洪湖市| 德保县| 榕江县| 延长县| 阳山县| 绵竹市| 南川市| 台山市| 祁阳县| 洪泽县| 肇源县| 闽清县| 海兴县| 凉城县| 昌都县| 六盘水市| 全椒县| 基隆市| 台山市| 马公市| 株洲市| 尚义县| 临澧县| 定州市| 湖南省| 昌邑市| 金秀| 青浦区|