- 實戰(zhàn)Python網(wǎng)絡(luò)爬蟲
- 黃永祥
- 365字
- 2019-11-22 18:44:45
第8章
爬蟲庫Requests-HTML
8.1 簡介及安裝
Requests-HTML是在Requests的基礎(chǔ)上進(jìn)一步封裝,兩者都是由同一個開發(fā)者開發(fā)。Requests-HTML除了包含Requests的所有功能之外,還新增了數(shù)據(jù)清洗和Ajax數(shù)據(jù)動態(tài)渲染。
數(shù)據(jù)清洗是由lxml和PyQuery模塊實現(xiàn),這兩個模塊分別支持XPath Selectors和CSS Selectors定位,通過XPath或CSS定位,可以精準(zhǔn)地提取網(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)頁的部分?jǐn)?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窗口進(jìn)入Python交互模式,通過導(dǎo)入requests-html模塊并輸出模塊里的屬性DEFAULT_URL的屬性值,從而驗證requests-html模塊是否安裝成功,如下所示:

- Rust編程:入門、實戰(zhàn)與進(jìn)階
- 少年輕松趣編程:用Scratch創(chuàng)作自己的小游戲
- Java性能權(quán)威指南(第2版)
- Responsive Web Design by Example
- 精通Linux(第2版)
- Windows Phone 7.5:Building Location-aware Applications
- RESTful Java Web Services(Second Edition)
- Scratch3.0趣味編程動手玩:比賽訓(xùn)練營
- 從零開始:UI圖標(biāo)設(shè)計與制作(第3版)
- Python趣味編程與精彩實例
- Mudbox 2013 Cookbook
- Clojure Polymorphism
- Jakarta EE Cookbook
- Python Penetration Testing Essentials
- 計算機(jī)應(yīng)用基礎(chǔ)(Windows 7+Office 2010)