如何利用CSS選擇器抓取京東網商品信息

前幾天小編分別利用Python正則表達式BeautifulSoupXpath分別爬取了京東網商品信息,今天小編利用CSS選擇器來爲你們展現一下如何實現京東商品信息的精準匹配~~正則表達式

如何利用CSS選擇器抓取京東網商品信息

CSS選擇器服務器

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

如何利用CSS選擇器抓取京東網商品信息

京東商品圖學習

首先進入京東網,輸入本身想要查詢的商品,向服務器發送網頁請求。在這裏小編仍以關鍵詞「狗糧」做爲搜索對象,以後獲得後面這一串網址:
https://search.jd.com/Search?keyword=%E7%8B%97%E7%B2%AE&enc=utf-8,其中參數的意思就是咱們輸入的keyword,在本例中該參數表明「狗糧」,具體詳情能夠參考Python大神用正則表達式教你搞定京東商品信息。因此,只要輸入keyword這個參數以後,將其進行編碼,就能夠獲取到目標URL。以後請求網頁,獲得響應,爾後利用CSS選擇器進行下一步的數據採集。網站

商品信息在京東官網上的部分網頁源碼以下圖所示:編碼

如何利用CSS選擇器抓取京東網商品信息

部分網頁源碼url

仔細觀察源碼,能夠發現咱們所需的目標信息在紅色框框的下面,那麼接下來咱們就要一層一層的去獲取想要的信息。spa

在Python的urllib庫中提供了quote方法,能夠實現對URL的字符串進行編碼,從而能夠進入到對應的網頁中去。code

如何利用CSS選擇器抓取京東網商品信息

CSS選擇器在線複製對象

不少小夥伴都以爲CSS表達式很難寫,其實掌握了基本的用法也就不難了。在線複製CSS表達式如上圖所示,能夠很方便的複製CSS表達式。可是經過該方法獲得的CSS表達式放在程序中通常不能用,並且長的無法看。因此CSS表達式通常仍是要本身親自上手。

直接上代碼,利用CSS去提取目標信息,如商品的名字、連接、圖片和價格,具體的代碼以下圖所示:

如何利用CSS選擇器抓取京東網商品信息

代碼實現

若是你想快速的實現功能更強大的網絡爬蟲,那麼BeautifulSoupCSS選擇器將是你必備的利器之一。BeautifulSoup整合了CSS選擇器的語法和自身方便使用API。在網絡爬蟲的開發過程當中,對於熟悉CSS選擇器語法的人,使用CSS選擇器是個很是方便的方法。

最後獲得的效果圖以下所示:

如何利用CSS選擇器抓取京東網商品信息

最終效果圖

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

如何利用CSS選擇器抓取京東網商品信息

CSS選擇器

關於CSS選擇器的簡單介紹:

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

tag.select("string")

BeautifulSoup.select("string")

注意:在取得含有特定CSS屬性的元素時,標籤名不加任何修飾,如class類名前加點,id名前加 /#。
想學習更多Python網絡爬蟲與數據挖掘知識,可前往專業網站:http://pdcfighting.com/

相關文章
相關標籤/搜索