前幾天小編分別利用Python正則運算式、BeautifulSoup、Xpath分別爬取了京東網商品資訊,今天小編利用CSS選擇器來為大家展示一下如何實作京東商品資訊的精準匹配~~

CSS選擇器
目前,除了官方檔案之外,市面上及網路詳細介紹BeautifulSoup使用的技術書籍和博客軟文并不多,而在這僅有的資料中介紹CSS選擇器的少之又少,在網路爬蟲的頁面決議中,CCS選擇器實際上是一把效率甚高的利器,雖然資料不多,但官方檔案卻十分詳細,然而美中不足的是需要一定的基礎才能看懂,而且沒有小而精的演示實體,

京東商品圖
首先進入京東網,輸入自己想要查詢的商品,向服務器發送網頁請求,在這里小編仍以關鍵詞“狗糧”作為搜索物件,之后得到后面這一串網址:
https://search.jd.com/Search?keyword=%E7%8B%97%E7%B2%AE&enc=utf-8,其中引數的意思就是我們輸入的keyword,在本例中該引數代表“狗糧”,具體詳情可以參考Python大神用正則運算式教你搞定京東商品資訊,所以,只要輸入keyword這個引數之后,將其進行編碼,就可以獲取到目標URL,之后請求網頁,得到回應,爾后利用CSS選擇器進行下一步的資料采集,
商品資訊在京東官網上的部分網頁原始碼如下圖所示:

部分網頁原始碼
仔細觀察原始碼,可以發現我們所需的目標資訊在紅色框框的下面,那么接下來我們就要一層一層的去獲取想要的資訊,
在Python的urllib庫中提供了quote方法,可以實作對URL的字串進行編碼,從而可以進入到對應的網頁中去,

CSS選擇器在線復制
很多小伙伴都覺得CSS運算式很難寫,其實掌握了基本的用法也就不難了,在線復制CSS運算式如上圖所示,可以很方便的復制CSS運算式,但是通過該方法得到的CSS運算式放在程式中一般不能用,而且長的沒法看,所以CSS運算式一般還是要自己親自上手,
直接上代碼,利用CSS去提取目標資訊,如商品的名字、鏈接、圖片和價格,具體的代碼如下圖所示:

代碼實作
如果你想快速的實作功能更強大的網路爬蟲,那么BeautifulSoupCSS選擇器將是你必備的利器之一,BeautifulSoup整合了CSS選擇器的語法和自身方便使用API,在網路爬蟲的開發程序中,對于熟悉CSS選擇器語法的人,使用CSS選擇器是個非常方便的方法,
最后得到的效果圖如下所示:

最終效果圖
新鮮的狗糧再一次出爐咯~~~

CSS選擇器
關于CSS選擇器的簡單介紹:
BeautifulSoup支持大部分的CSS選擇器,其語法為:向tag物件或BeautifulSoup物件的.select()方法中傳入字串引數,選擇的結果以串列形式回傳,即回傳型別為list,
tag.select("string")
BeautifulSoup.select("string")
注意:在取得含有特定CSS屬性的元素時,標簽名不加任何修飾,如class類名前加點,id名前加 /#,
想學習更多Python網路爬蟲與資料挖掘知識,可前往專業網站:http://pdcfighting.com/
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/141672.html
標籤:Python
上一篇:力扣中國101對稱二叉樹
