国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python CSS選擇器爬取京東網(wǎng)商品信息過(guò)程解析

瀏覽:24日期:2022-07-23 15:22:05

CSS選擇器

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

Python CSS選擇器爬取京東網(wǎng)商品信息過(guò)程解析

京東商品圖

首先進(jìn)入京東網(wǎng),輸入自己想要查詢(xún)的商品,向服務(wù)器發(fā)送網(wǎng)頁(yè)請(qǐng)求。在這里小編仍以關(guān)鍵詞“狗糧”作為搜索對(duì)象,之后得到后面這一串網(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。之后請(qǐng)求網(wǎng)頁(yè),得到響應(yīng),爾后利用CSS選擇器進(jìn)行下一步的數(shù)據(jù)采集。

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

Python CSS選擇器爬取京東網(wǎng)商品信息過(guò)程解析

部分網(wǎng)頁(yè)源碼

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

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

Python CSS選擇器爬取京東網(wǎng)商品信息過(guò)程解析

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

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

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

Python CSS選擇器爬取京東網(wǎng)商品信息過(guò)程解析

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

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

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

Python CSS選擇器爬取京東網(wǎng)商品信息過(guò)程解析

最終效果圖

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

Python CSS選擇器爬取京東網(wǎng)商品信息過(guò)程解析

CSS選擇器

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

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

tag.select('string')

BeautifulSoup.select('string')

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: 京東 Python
相關(guān)文章:
主站蜘蛛池模板: 滨海县| 奉贤区| 昌吉市| 双城市| 和平区| 新沂市| 海晏县| 儋州市| 鞍山市| 五寨县| 梅州市| 吴桥县| 阿克苏市| 北海市| 资兴市| 沙洋县| 岳阳市| 隆安县| 兴仁县| 邳州市| 林口县| 宁明县| 高青县| 浮梁县| 阿城市| 钟山县| 通山县| 仙游县| 南宁市| 阿尔山市| 龙胜| 西安市| 团风县| 阜南县| 麻栗坡县| 独山县| 江陵县| 柯坪县| 永年县| 齐河县| 宜君县|