天天看點

Python爬蟲:第二章 requests子產品基礎 學習大綱(2)爬蟲子產品Why requests實戰編碼:實戰鞏固資料解析

requests子產品初步學習

  • 爬蟲子產品
  • Why requests
    • 環境安裝
    • 使用流程/編碼流程
  • 實戰編碼:
  • 實戰鞏固
  • 資料解析

爬蟲子產品

  • requests 子產品
  • urllib 子產品

Why requests

  • requests子產品:python中原生的一款基于網絡請求的子產品,功能非常強大,簡單便捷,效率極高。
  • 作用:模拟浏覽器發請求。

環境安裝

pip install requests
           

使用流程/編碼流程

如何使用:(requests子產品的編碼流程)

- 指定url

- UA僞裝

- 請求參數的處理

- 發起請求

- 擷取響應資料

- 持久化存儲

實戰編碼:

  1. 需求:爬取搜狗首頁的頁面資料

實戰鞏固

  1. 需求:爬取搜狗指定詞條對應的搜尋結果頁面(簡易網頁采集器)
    - UA檢測
    - UA僞裝
               
  2. 需求:破解百度翻譯
    - post請求(攜帶了參數)
    - 響應資料是一組json資料
               
  3. 需求:爬取豆瓣電影分類排行榜 https://movie.douban.com/中的電影詳情資料
  4. 需求:爬取肯德基餐廳查詢http://www.kfc.com.cn/kfccda/index.aspx中指定地點的餐廳資料
  5. 需求:爬取國家藥品監督管理總局中基于中華人民共和國化妝品生産許可證相關資料
    http://125.35.6.84:81/xk/
    - 動态加載資料
    - 首頁中對應的企業資訊資料是通過ajax動态請求到的。
    
    http://125.35.6.84:81/xk/itownet/portal/dzpz.jsp?id=e6c1aa332b274282b04659a6ea30430a
    http://125.35.6.84:81/xk/itownet/portal/dzpz.jsp?id=f63f61fe04684c46a016a45eac8754fe
    - 通過對詳情頁url的觀察發現:
        - url的域名都是一樣的,隻有攜帶的參數(id)不一樣
        - id值可以從首頁對應的ajax請求到的json串中擷取
        - 域名和id值拼接處一個完整的企業對應的詳情頁的url
    - 詳情頁的企業詳情資料也是動态加載出來的
        - http://125.35.6.84:81/xk/itownet/portalAction.do?method=getXkzsById
        - http://125.35.6.84:81/xk/itownet/portalAction.do?method=getXkzsById
        - 觀察後發現:
            - 所有的post請求的url都是一樣的,隻有參數id值是不同。
            - 如果我們可以批量擷取多家企業的id後,就可以将id和url形成一個完整的詳情頁對應詳情資料的ajax請求的url
               

資料解析

聚焦爬蟲
正則
bs4
xpath