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

第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模塊是否安裝成功,如下所示:

主站蜘蛛池模板: 卫辉市| 常州市| 乐安县| 海宁市| 新绛县| 乐至县| 光山县| 扬州市| 博客| 开阳县| 金昌市| 海口市| 镇坪县| 女性| 三明市| 怀远县| 大邑县| 红安县| 喀喇沁旗| 古田县| 孙吴县| 靖边县| 元阳县| 楚雄市| 天等县| 本溪市| 富源县| 潼南县| 望都县| 思茅市| 瓦房店市| 大埔区| 鄂州市| 叶城县| 溆浦县| 新和县| 常熟市| 长乐市| 安阳市| 涪陵区| 开江县|