
前幾小編分別利用Python正則運算式和BeautifulSoup爬取了京東網商品資訊,今天小編利用Xpath來為大家演示一下如何實作京東商品資訊的精準匹配~~
HTML檔案其實就是由一組尖括號構成的標簽組織起來的,每一對尖括號形式一個標簽,標簽之間存在上下關系,形成標簽樹;XPath 使用路徑運算式在 XML 檔案中選取節點,節點是通過沿著路徑或者 step 來選取的,

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

狗糧資訊在京東官網上的網頁原始碼
仔細觀察原始碼,可以發現我們所需的目標資訊是存在<li data-sku="/*/*/*/*/*" >標簽下的,那么接下來我們就像剝洋蔥一樣,一層一層的去獲取我們想要的資訊,
通常URL編碼的方式是把需要編碼的字符轉化為%xx的形式,一般來說URL的編碼是基于UTF-8的,當然也有的于瀏覽器平臺有關,在Python的urllib庫中提供了quote方法,可以實作對URL的字串進行編碼,從而可以進入到對應的網頁中去,

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

爬蟲代碼
在這里,小編告訴大家一個Xpath運算式匹配技巧,之前看過好幾篇文章,大佬們都推薦Xpath運算式使用嵌套匹配的方式,在本例中,首先定義items,如下所示:
items = selector.xpath('//li[@]')
之后通過range函式,逐個從網頁中進行匹配目標資訊,而不是直接通過復制Xpath運算式的方式一步到位,希望小伙伴們以后都可以少入這個坑~~
最后得到的效果圖如下所示:

最終效果圖
新鮮的狗糧再一次出爐咯~~~
小伙伴們,有沒有發現利用Xpath來獲取目標資訊比正則運算式要簡單一些呢?
想學習更多Python網路爬蟲與資料挖掘知識,可前往專業網站:http://pdcfighting.com/
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/142957.html
標籤:Python
下一篇:安裝uwsgi和使用uwsgi
