日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Python爬蟲(chóng)入門,快速抓取大規(guī)模數(shù)據(jù)(第二部分)

 js大圣 2021-08-22

通過(guò)第一部分的練習(xí),我們已經(jīng)有了一個(gè)可運(yùn)行的爬蟲(chóng)。這一部分我們?cè)敿?xì)的看看如何使用BeautifulSoup從網(wǎng)頁(yè)中提取我們需要的數(shù)據(jù),學(xué)習(xí)的目標(biāo)是能夠使用BeautifulSoup從網(wǎng)頁(yè)中提取任意的數(shù)據(jù)。

HTML文檔和CSS選擇器

我們知道我們抓取回來(lái)的網(wǎng)頁(yè)是由HTML和CSS構(gòu)成,HTML文檔對(duì)象模型(DOM)將HTML文檔表達(dá)為樹(shù)結(jié)構(gòu)。而提取網(wǎng)頁(yè)特定數(shù)據(jù)實(shí)際上就是按照指定的特征匹配文檔樹(shù)并讀取數(shù)據(jù)內(nèi)容。

Python爬蟲(chóng)入門,快速抓取大規(guī)模數(shù)據(jù)(第二部分)

BeautifulSoup支持大部分的CSS選擇器,在tag或BeautifulSoup對(duì)象的.select()方法中傳入字符串參數(shù),即可使用CSS選擇器的語(yǔ)法找到tag。以上面的HTML為例,下面分別使用tag,tag+id, tag+class對(duì)網(wǎng)頁(yè)元素定位:

Python爬蟲(chóng)入門,快速抓取大規(guī)模數(shù)據(jù)(第二部分)

爬蟲(chóng)實(shí)例

現(xiàn)在回到我們抓取豆瓣圖書(shū)的例子,我們看看怎么使用BeautifulSoup從網(wǎng)頁(yè)中提取書(shū)名,封面圖片,圖書(shū)簡(jiǎn)介等,代碼如下。感興趣的讀者可以添加代碼提取更多內(nèi)容。

Python爬蟲(chóng)入門,快速抓取大規(guī)模數(shù)據(jù)(第二部分)

提取數(shù)據(jù)的關(guān)鍵是分析并確定網(wǎng)頁(yè)元素的CSS選擇器。幸運(yùn)的是瀏覽器可以幫我們很大的忙,以Chrome瀏覽器為例,在打開(kāi)的網(wǎng)頁(yè)上對(duì)想要提取的數(shù)據(jù)點(diǎn)擊右鍵,在彈出的菜單項(xiàng)中選擇檢查元素。如圖所示我們可以非常方便的得到元素對(duì)應(yīng)的CSS選擇器。

Python爬蟲(chóng)入門,快速抓取大規(guī)模數(shù)據(jù)(第二部分)

好,現(xiàn)在我們把數(shù)據(jù)提取部分代碼加入我們的爬蟲(chóng)中。再次運(yùn)行程序,圖書(shū)書(shū)名,圖書(shū)封面,簡(jiǎn)介信息便被提取和打印出來(lái)了。

Python爬蟲(chóng)入門,快速抓取大規(guī)模數(shù)據(jù)(第二部分)

總結(jié)

這一部分里我們?cè)敿?xì)介紹了如何提取網(wǎng)頁(yè)數(shù)據(jù)。BeautifulSoup還有許多其它的API可以訪問(wèn)html的內(nèi)容,細(xì)節(jié)可以參考BeautifulSoup文檔。

在下一部分里我們將如何存儲(chǔ)爬蟲(chóng)運(yùn)行數(shù)據(jù),以及抓取到的各種數(shù)據(jù)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多