av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Python利用Xpath選擇器爬取京東網商品信息

瀏覽:5日期:2022-07-23 15:38:05

HTML文件其實就是由一組尖括號構成的標簽組織起來的,每一對尖括號形式一個標簽,標簽之間存在上下關系,形成標簽樹;XPath 使用路徑表達式在 XML 文檔中選取節點。節點是通過沿著路徑或者 step 來選取的。

Python利用Xpath選擇器爬取京東網商品信息

首先進入京東網,輸入自己想要查詢的商品,向服務器發送網頁請求。在這里小編仍以關鍵詞“狗糧”作為搜索對象,之后得到后面這一串網址:

https://search.jd.com/Search?keyword=%E7%8B%97%E7%B2%AE&enc=utf-8,其中參數的意思就是我們輸入的keyword,在本例中該參數代表“狗糧”,具體詳情可以參考Python大神用正則表達式教你搞定京東商品信息。所以,只要輸入keyword這個參數之后,將其進行編碼,就可以獲取到目標URL。之后請求網頁,得到響應,爾后利用bs4選擇器進行下一步的數據采集。

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

Python利用Xpath選擇器爬取京東網商品信息

狗糧信息在京東官網上的網頁源碼

仔細觀察源碼,可以發現我們所需的目標信息是存在<li data-sku='*****' class='gl-item'>標簽下的,那么接下來我們就像剝洋蔥一樣,一層一層的去獲取我們想要的信息。

通常URL編碼的方式是把需要編碼的字符轉化為%xx的形式,一般來說URL的編碼是基于UTF-8的,當然也有的于瀏覽器平臺有關。在Python的urllib庫中提供了quote方法,可以實現對URL的字符串進行編碼,從而可以進入到對應的網頁中去。

Python利用Xpath選擇器爬取京東網商品信息

在線復制Xpath表達式

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

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

Python利用Xpath選擇器爬取京東網商品信息

爬蟲代碼

在這里,小編告訴大家一個Xpath表達式匹配技巧。之前看過好幾篇文章,大佬們都推薦Xpath表達式使用嵌套匹配的方式。在本例中,首先定義items,如下所示:

items = selector.xpath(’//li[@class='gl-item']’)

之后通過range函數,逐個從網頁中進行匹配目標信息,而不是直接通過復制Xpath表達式的方式一步到位。希望小伙伴們以后都可以少入這個坑~~

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

Python利用Xpath選擇器爬取京東網商品信息

最終效果圖

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

小伙伴們,有沒有發現利用Xpath來獲取目標信息比正則表達式要簡單一些呢?

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: 京東 Python
相關文章:
主站蜘蛛池模板: 性网站免费| 国产人免费人成免费视频 | 亚洲手机在线 | 伊人久久大香线 | 日韩精品在线观看一区二区三区 | 自拍偷拍亚洲欧美 | 国产激情99 | 黄网免费看 | 在线观看亚洲 | 福利网站导航 | 精品欧美乱码久久久久久1区2区 | 一级毛片高清 | 性生活毛片 | 欧美成视频 | caoporn国产 | 精品福利视频一区二区三区 | 欧美成人一级视频 | 亚洲欧美日韩高清 | 亚洲一区视频在线 | 色男人天堂av | 国产一区二区精品在线 | 日本成人久久 | 一区二区三区国产 | 黄色免费看 | 日本一区二区三区四区 | 欧美久久一级 | 日韩α片 | 亚洲婷婷六月天 | 欧美日韩精品一区二区天天拍 | 免费a级毛片在线播放 | 午夜欧美a级理论片915影院 | 美女久久久 | 免费在线观看成年人视频 | 国产视频在线一区二区 | 色网站在线 | 国产日韩欧美二区 | 操亚洲| 精品国产乱码久久久久久88av | 国产三区精品 | 91视频久久 | 岛国av免费观看 |