欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python基于BeautifulSoup爬取京東商品信息

 更新時間:2020年06月01日 14:37:19   作者:Python進(jìn)階學(xué)習(xí)交流  
這篇文章主要介紹了Python基于BeautifulSoup爬取京東商品信息,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

今天小編利用美麗的湯來為大家演示一下如何實(shí)現(xiàn)京東商品信息的精準(zhǔn)匹配~~

HTML文件其實(shí)就是由一組尖括號構(gòu)成的標(biāo)簽組織起來的,每一對尖括號形式一個標(biāo)簽,標(biāo)簽之間存在上下關(guān)系,形成標(biāo)簽樹;因此可以說Beautiful Soup庫是解析、遍歷、維護(hù)“標(biāo)簽樹”的功能庫。

如何利用BeautifulSoup抓取京東網(wǎng)商品信息

首先進(jìn)入京東網(wǎng),輸入自己想要查詢的商品,向服務(wù)器發(fā)送網(wǎng)頁請求。在這里小編仍以關(guān)鍵詞“狗糧”作為搜索對象,之后得到后面這一串網(wǎng)址:
https://search.jd.com/Search?keyword=%E7%8B%97%E7%B2%AE&enc=utf-8,其中參數(shù)的意思就是我們輸入的keyword,在本例中該參數(shù)代表“狗糧”,具體詳情可以參考Python大神用正則表達(dá)式教你搞定京東商品信息。所以,只要輸入keyword這個參數(shù)之后,將其進(jìn)行編碼,就可以獲取到目標(biāo)URL。之后請求網(wǎng)頁,得到響應(yīng),爾后利用bs4選擇器進(jìn)行下一步的數(shù)據(jù)采集。

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

狗糧信息在京東官網(wǎng)上的網(wǎng)頁源碼

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

直接上代碼,如下圖所示:

請求網(wǎng)頁,獲取源碼

通常URL編碼的方式是把需要編碼的字符轉(zhuǎn)化為%xx的形式,一般來說URL的編碼是基于UTF-8的,當(dāng)然也有的于瀏覽器平臺有關(guān)。在Python的urllib庫中提供了quote方法,可以實(shí)現(xiàn)對URL的字符串進(jìn)行編碼,從而可以進(jìn)入到對應(yīng)的網(wǎng)頁中去。

之后利用美麗的湯去提取目標(biāo)信息,如商品的名字、鏈接、圖片和價格,具體的代碼如下圖所示:

利用美麗的湯去提取目標(biāo)信息

在本例中,有個地方需要注意,部分圖片的鏈接是空值,所以在提取的時候需要考慮到這個問題。其解決方法有兩個,其一是如果使用img['src']會有報(bào)錯產(chǎn)生,因?yàn)槠ヅ洳坏綄?yīng)值;但是使用get['src']就不會報(bào)錯,如果沒有匹配到,它會自動返回None。此外也可以利用try+except進(jìn)行異常處理,如果匹配不到就pass,小伙伴們可以自行測試一下,這個代碼測速過程在上圖中也有提及哈。使用get方法獲取信息,是bs4中的一個小技巧,希望小伙伴們都可以學(xué)以致用噢~~~

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

最終效果圖

新鮮的狗糧出爐咯~~~

小伙伴們,有沒有發(fā)現(xiàn)利用BeautifulSoup來獲取目標(biāo)信息比正則表達(dá)式要簡單一些呢

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 講解Python中的遞歸函數(shù)

    講解Python中的遞歸函數(shù)

    這篇文章主要介紹了講解Python中的遞歸函數(shù),遞歸是學(xué)一門編程語言必須掌握的重要特性,需要的朋友可以參考下
    2015-04-04
  • python IDLE 背景以及字體大小的修改方法

    python IDLE 背景以及字體大小的修改方法

    這篇文章主要介紹了python IDLE 背景以及字體的修改方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python修改linux中文件(文件夾)的權(quán)限屬性操作

    python修改linux中文件(文件夾)的權(quán)限屬性操作

    這篇文章主要介紹了python修改linux中文件(文件夾)的權(quán)限屬性操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 利用python list完成最簡單的DB連接池方法

    利用python list完成最簡單的DB連接池方法

    這篇文章主要介紹了利用python list完成最簡單的DB連接池方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python如何提取xml指定內(nèi)容

    python如何提取xml指定內(nèi)容

    這篇文章主要介紹了python如何提取xml指定內(nèi)容,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python自動化辦公之Word文檔的創(chuàng)建與生成

    Python自動化辦公之Word文檔的創(chuàng)建與生成

    這篇文章主要為大家詳細(xì)介紹了如何通過python腳本來自動生成一個?word文檔,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-05-05
  • Python圖片批量自動摳圖去背景的代碼詳解

    Python圖片批量自動摳圖去背景的代碼詳解

    這篇文章主要介紹了Python圖片批量自動摳圖去背景,只要上傳圖片,就可以自動把背景去掉把目標(biāo)對象摳出來,非常方便,對Python圖片批量自動摳圖去背景的代碼感興趣的朋友一起看看吧
    2022-03-03
  • 如何利用Python 快速找到最大文件

    如何利用Python 快速找到最大文件

    現(xiàn)在的電腦差不多都是固態(tài)硬盤了,速度很快,但容量不會太大,經(jīng)常會出現(xiàn)磁盤空間不足的情況,怎么辦,刪除那些不重要的最大的文件是最有效的辦法,這篇文章我們就來介紹介紹了如何利用Python 快速找到最大文件,需要的朋友可以參考一下
    2021-11-11
  • Python?異之如何同時運(yùn)行多個協(xié)程詳解

    Python?異之如何同時運(yùn)行多個協(xié)程詳解

    這篇文章主要為大家介紹了Python?異之如何同時運(yùn)行多個協(xié)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Python利用Redis計(jì)算經(jīng)緯度距離案例

    Python利用Redis計(jì)算經(jīng)緯度距離案例

    這篇文章主要介紹了Python利用Redis計(jì)算經(jīng)緯度距離案例,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-09-09

最新評論