網絡爬蟲——爬取豆瓣圖書

2020-12-26 百度校園

作者:徐浩 來源:人工智慧學習圈

3.2.1 目標

目標地址:https://book.douban.com/top250?start=0

任務:爬取豆瓣圖書TOP250,及其『書名』、『出版信息』、『評分』、『評價人數』四個數據

3.2.2 分析URL

首先先打開目標地址對url進行分析

觀察第一頁豆瓣圖書如下:

preview

第二頁豆瓣圖書如下:

最後一頁豆瓣圖書如下:

我們可以發現url的結構是如何變化的,每一次的翻頁所對應改變的是start參數的值,那麼我們就可以構造urls:

3.2.3 請求網頁

我們看到其中有response.encoding = 'utf-8',這個可以根據標籤中的信息分析得到,還可以改為response.encoding=response.apparent_encoding

這個的意思是說,把響應的結果的 html 源碼的編碼格式設置成 utf-8,不這樣做的話,我們提取到的數據中如果有中文的,那顯示就會是亂碼

3.2.4 分析數據

滑鼠放在目標元素位置,右鍵-檢查,我們看到第一本書的我們需要的詳細信息都在 <tr> 裡面,

所以我們需要提取這一頁的所有的標籤:

infos = html.xpath('//tr[@class="item"]')

返回的是一個列表,再一次循環列表的每一個標籤,從中提取出對應的數據,其實不用提取數據的 xpath 路徑不需要去看路徑張啥樣在去手敲進去,可以複製得,但需要修改

我們以提取書名為例,在書名那裡右鍵-檢查,如下圖,複製出 xpath 路徑

粘貼代碼為://*[@id="content"]/div/div[1]/div/table[1]/tbody/tr/td[2]/div[1]/a

我們觀察我們已經提取的 tr 標籤 '//tr[@class="item"]' ,在看上面找到 tr ,以它為斷點(包含它),前面的刪掉改成如下:

name = info.xpath('./td[2]/div[1]/a/text()')[0]

因為我們已經提取了一大包含我們需要的數據的大標籤 tr,是從中再提取數據,所以前面多餘的刪掉,包含 tr 也刪掉,因為是從它的裡面提取

另外數據同理,所以可寫代碼:

提取後,我們需要用 replace 把多餘字符去掉,最後列印

到這裡接就完成了提取數據

3.2.5 小結

完整代碼如下:

運行結果如下:

歡迎大家加入人工智慧圈參與交流

原文連結: https://zhuanlan.zhihu.com/p/140246883

相關焦點

  • 4K超清壁紙爬蟲,爬取各種精美大圖
    那麼,屋主推薦的這款4K超清壁紙爬蟲工具你必須擁有,輕鬆爬取各類2K、4K超清壁紙,讓你的桌面絢麗多彩!1、爬取超清壁紙;2、爬蟲爬取的網站:https://wall.alphacoders.com/?lang=Chinese3、類型壁紙選擇頁面:https://wall.alphacoders.com/finding_wallpapers.php?
  • 網絡爬蟲案例平臺
    所以,為此,這段時間我也在寫一些爬蟲相關的案例,比如:•無反爬的服務端渲染網站•帶有參數加密的 SPA 網站•各類形式驗證碼網站•反 WebDriver 網站•字體反爬等網站•模擬登錄網站•App 案例,如代理檢測,SSL Pining 等今天發布一下。案例列表本案例平臺自爬數據、自建頁面、自接反爬,案例穩定後永不過期,適合教學與練習。
  • Python網絡爬蟲
    Python網絡爬蟲第一篇(一):為什麼要學習網絡爬蟲?大數據成為當今時代的熱門話題之一,在數據量爆發增長的網際網路時代,網站與用戶溝通實質為數據的交換。如果大量的數據得以分析,我們能夠對事件的看法,解決方案做出更好的決策。
  • VB.NET 網絡爬蟲;爬取妹子;美女圖片--宅男福利
    為了解決廣大男士的痛點;,而我作為一個VB業餘程序愛好者就是要為廣大的男士們提供便捷的方式;特意將此VB爬蟲的製作過程和原始碼分享給大家。本文僅用作VB爬蟲技術探討,其他使用與作者無關。本文為作者原創,禁止轉載。
  • Python網絡爬蟲(第二篇)
    在網絡爬蟲中,靜態網頁的數據都呈現在HTML代碼中,所以比較容易獲取。動態網頁是使用AJAX動態加載網頁數據不一定出現在HTML代碼中,這就相比於靜態網頁,爬取動態網頁的數據上升了一個難度。二、為什麼爬取靜態網頁數據比較簡單?
  • 創建一個分布式網絡爬蟲的故事
    如果沒有,則執行爬取。否則,就忽略掉。我選擇SQLite是因為它的快速和易於使用。每個爬取URL附帶的時間戳對調試和事件回溯都非常有用,萬一有人對我的爬蟲提出投訴的話。8. URL過濾我的目標不是抓取整個網絡。
  • 小白學 Python 爬蟲(24):2019 豆瓣電影排行
    爬蟲(3):前置準備(二)Linux基礎入門小白學 Python 爬蟲(4):前置準備(三)Docker基礎入門小白學 Python 爬蟲(5):前置準備(四)資料庫基礎小白學 Python 爬蟲(6):前置準備(五)爬蟲框架的安裝小白學 Python 爬蟲(7):HTTP 基礎小白學 Python 爬蟲(8):網頁基礎
  • 網絡爬蟲——Requests,GET和POST
    (一)、爬蟲背後的法律風險我們都知道在爬取網上數據時,爬取個人信息是不合法的。《中華人民共和國網絡安全法》 2016 年 11 月 7 日發布的《中華人民共和國網絡安全法》明確「個人信息」是指以電子或 者其他方式記錄的能夠單獨或者與其他信息結合識別自然人個人身份的各種信息,包括但不限於自然人的姓名、出生日期、身份證件號碼、個人生物識別信息、住址、電話號碼等,就網絡服務中的個人信息保護問題作出系統規定如下:
  • 如何快速學會Python爬蟲(入門篇)
    Python爬蟲入門六之Cookie的使用7. Python爬蟲入門七之正則表達式二、爬蟲實戰Python爬蟲實戰一之爬取糗事百科段子2. Python爬蟲實戰二之爬取百度貼吧帖子3. Python爬蟲實戰三之實現山東大學無線網絡掉線自動重連4. Python爬蟲實戰四之抓取淘寶MM照片5.
  • 一言不合就爬蟲系列之——爬取小姐姐的秒拍MV
    既然要聽,怎麼只聽一首呢,既然學了爬蟲怎麼讓技能荒廢呢。好吧,煩躁的心情+想聽MV的衝動+爬蟲技能,今天小魔方教叫你使用R語言批量爬取秒拍小姐姐的清涼MV短片。http://www.miaopai.com/u/paike_wgleqt8r08今天要爬的主頁是一位叫陶心瑤小姐姐,刷微博偶然聽到她翻唱薛之謙的《方圓萬裡》,感覺蠻有味道的,於是搜了她的秒拍主頁。主頁的作品不多,僅有5首,但是因為僅作為爬蟲練習只用,五首也夠了(畢竟只是構造循環而已,1000首的步驟也是如此,可能需要構造翻頁請求)。
  • 網絡爬蟲什麼意思什麼梗? 網絡機器人,網頁蜘蛛了解一下
    網絡爬蟲什麼意思什麼梗? 網絡機器人,網頁蜘蛛了解一下時間:2020-03-24 16:48   來源:小雞詞典   責任編輯:沫朵 川北在線核心提示:原標題:網絡爬蟲什麼意思什麼梗?網絡機器人,網頁蜘蛛了解一下 也叫網絡機器人,網頁蜘蛛 通俗的講,就是根據人的需求,在網絡中尋找需要的信息,就像一隻蜘蛛一樣在網絡中爬來爬去,不斷尋找需要的信息 網絡爬蟲有善意的,比如搜尋引擎的爬蟲,就是尋找有用的信息   原標題:網絡爬蟲什麼意思什麼梗?
  • 發布一個爬蟲案例平臺
    所以,為此,這段時間我也在寫一些爬蟲相關的案例,比如:•無反爬的服務端渲染網站•帶有參數加密的 SPA 網站•各類形式驗證碼網站•反 WebDriver 網站•字體反爬等網站•模擬登錄網站•App 案例,如代理檢測,SSL Pining 等今天發布一下。案例列表本案例平臺自爬數據、自建頁面、自接反爬,案例穩定後永不過期,適合教學與練習。
  • 圖解爬蟲,用幾個最簡單的例子帶你入門Python爬蟲
    首先我們的網絡爬蟲是建立在網絡之上的,所以網絡爬蟲的基礎就是網絡請求。在我們日常生活中,我們會使用瀏覽器瀏覽網頁,我們在網址欄輸入一個網址,點擊回車在幾秒時間後就能顯示一個網頁。在知道網絡請求是什麼之後,我們就可以來了解一下什麼是爬蟲了。實際上爬蟲也是網絡請求,通常情況下我們通過瀏覽器,而我們的爬蟲則是通過程序來模擬網絡請求這一過程。但是這種基礎的網絡請求還算不上是爬蟲,爬蟲通常都是有目的的。
  • 學代碼就是為了用Python爬蟲?零代碼也能爬取96%網站的數據!
    可能很多同學跟我朋友一樣有這樣的誤區:想要採集網站數據就得用到Python來製作網絡爬蟲抓取數據。其實不然,網上有很多實用的採集工具,今天小編分享幾款能快速獲取網上數據的軟體給大家,希望對你們有幫助!●可視化的流程操作與八爪魚不同,收集客戶的流程側重於定義捕獲的數據和爬網程序路徑。
  • 另闢蹊徑,爬取Ajax數據內容
    通常利用python 爬取ajax數據 有兩種方式:①基於selenium+phantomjs+python的動態爬蟲技術②基於逆向分析但是這兩種方式都不太容易。基於上述原因,我另闢蹊徑 找其他更簡單的方法爬取自己所需要的內容。【聲明:我不是專業的爬蟲工作者,只是業餘愛好者,偶爾爬取一些需要的內容。
  • 原創丨發布一個爬蟲案例平臺
    所以,為此,這段時間我也在寫一些爬蟲相關的案例,比如:•無反爬的服務端渲染網站•帶有參數加密的 SPA 網站•各類形式驗證碼網站•反 WebDriver 網站•字體反爬等網站•模擬登錄網站•App 案例,如代理檢測,SSL Pining 等今天發布一下。案例列表本案例平臺自爬數據、自建頁面、自接反爬,案例穩定後永不過期,適合教學與練習。
  • 簡單講解價值1K的Python爬蟲外包案例
    前言 本文的文字及圖片來源於網絡,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯繫我們以作處理。 對於這個外包給予的網站信息,那麼我們就爬取選擇第一個吧獵聘網>,也就簡單實現,並不會進行打包處理,以及輸入關鍵字爬取,因為打包以及輸入關鍵詞爬取數據
  • 方法教程 | Python爬蟲:用Scrapy幫妹子爬取王某皮膚海報~
    「 這篇博客的由來:當然是因為我學習之餘,喜歡打打王者上上分 (下面是我王某個人主頁,啊還沒上過榮耀…)以及因為,我要學習 Scrapy 的ImagesPipeline,爬圖片絕對不是因為我喜歡帶妹兒
  • 代理ip與爬蟲的最大化效率使用方法?
    代理IP對爬蟲技術是完美無缺的組合,並且爬蟲對IP的高要求促使運用的通常都是付費IP,因此提高工作效率來控制成本也成為不可或缺的要求,那麼爬蟲工作人員如何使用代理IP才可以讓爬蟲效率最大化且合理呢?一、爬蟲工作人員的要求1.分析總體目標網站數據模塊:在我們確定要爬取的網站時必須先分析目標網站的數據模塊,可以詳細到每一個版塊下邊的層級分類。
  • Python爬取招聘網站數據並做數據可視化
    前言 本文的文字及圖片來源於網絡,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯繫我們以作處理。 基本開發環境 Python 3.6 Pycharm 相關模塊使用 爬蟲模塊 詞雲模塊