溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中CSS選擇器如何爬取京東網(wǎng)商品信息

發(fā)布時(shí)間:2020-07-20 11:34:53 來源:億速云 閱讀:137 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了Python中CSS選擇器如何爬取京東網(wǎng)商品信息,內(nèi)容簡而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

CSS選擇器

目前,除了官方文檔之外,市面上及網(wǎng)絡(luò)詳細(xì)介紹BeautifulSoup使用的技術(shù)書籍和博客軟文并不多,而在這僅有的資料中介紹CSS選擇器的少之又少。在網(wǎng)絡(luò)爬蟲的頁面解析中,CCS選擇器實(shí)際上是一把效率甚高的利器。雖然資料不多,但官方文檔卻十分詳細(xì),然而美中不足的是需要一定的基礎(chǔ)才能看懂,而且沒有小而精的演示實(shí)例。

Python中CSS選擇器如何爬取京東網(wǎng)商品信息

京東商品圖

首先進(jìn)入京東網(wǎng),輸入自己想要查詢的商品,向服務(wù)器發(fā)送網(wǎng)頁請求。在這里小編仍以關(guān)鍵詞“狗糧”作為搜索對象,之后得到后面這一串網(wǎng)址:
https://search.jd.com/Search?keyword=%E7%8B%97%E7%B2%AE&enc=utf-8,其中參數(shù)的意思就是我們輸入的keyword,在本例中該參數(shù)代表“狗糧”,具體詳情可以參考Python大神用正則表達(dá)式教你搞定京東商品信息。所以,只要輸入keyword這個(gè)參數(shù)之后,將其進(jìn)行編碼,就可以獲取到目標(biāo)URL。之后請求網(wǎng)頁,得到響應(yīng),爾后利用CSS選擇器進(jìn)行下一步的數(shù)據(jù)采集。

商品信息在京東官網(wǎng)上的部分網(wǎng)頁源碼如下圖所示:

Python中CSS選擇器如何爬取京東網(wǎng)商品信息

部分網(wǎng)頁源碼

仔細(xì)觀察源碼,可以發(fā)現(xiàn)我們所需的目標(biāo)信息在紅色框框的下面,那么接下來我們就要一層一層的去獲取想要的信息。

在Python的urllib庫中提供了quote方法,可以實(shí)現(xiàn)對URL的字符串進(jìn)行編碼,從而可以進(jìn)入到對應(yīng)的網(wǎng)頁中去。

Python中CSS選擇器如何爬取京東網(wǎng)商品信息

CSS選擇器在線復(fù)制

很多小伙伴都覺得CSS表達(dá)式很難寫,其實(shí)掌握了基本的用法也就不難了。在線復(fù)制CSS表達(dá)式如上圖所示,可以很方便的復(fù)制CSS表達(dá)式。但是通過該方法得到的CSS表達(dá)式放在程序中一般不能用,而且長的沒法看。所以CSS表達(dá)式一般還是要自己親自上手。

直接上代碼,利用CSS去提取目標(biāo)信息,如商品的名字、鏈接、圖片和價(jià)格,具體的代碼如下圖所示:

Python中CSS選擇器如何爬取京東網(wǎng)商品信息

代碼實(shí)現(xiàn)

如果你想快速的實(shí)現(xiàn)功能更強(qiáng)大的網(wǎng)絡(luò)爬蟲,那么BeautifulSoupCSS選擇器將是你必備的利器之一。BeautifulSoup整合了CSS選擇器的語法和自身方便使用API。在網(wǎng)絡(luò)爬蟲的開發(fā)過程中,對于熟悉CSS選擇器語法的人,使用CSS選擇器是個(gè)非常方便的方法。

最后得到的效果圖如下所示:

Python中CSS選擇器如何爬取京東網(wǎng)商品信息

最終效果圖

新鮮的狗糧再一次出爐咯~~~

Python中CSS選擇器如何爬取京東網(wǎng)商品信息

CSS選擇器

關(guān)于CSS選擇器的簡單介紹:

BeautifulSoup支持大部分的CSS選擇器。其語法為:向tag對象或BeautifulSoup對象的.select()方法中傳入字符串參數(shù),選擇的結(jié)果以列表形式返回,即返回類型為list。

tag.select("string")

BeautifulSoup.select("string")

注意:在取得含有特定CSS屬性的元素時(shí),標(biāo)簽名不加任何修飾,如class類名前加點(diǎn),id名前加 /#。

以上就是關(guān)于Python中CSS選擇器如何爬取京東網(wǎng)商品信息的內(nèi)容,如果你們有學(xué)習(xí)到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI