Python爬蟲教程-02-使用urlopen

肖朋偉發表於2018-08-05

Spider-02-使用urlopen

做一個最簡單的python爬蟲,使用爬蟲爬取:智聯招聘某招聘資訊的DOM

urllib

  • 包含模組
    • urllib.request:開啟和讀取urls
    • urllib.error:包含urllib.request產生的常見錯誤,使用try捕捉
    • urllib.parse:包含解析url的方法
    • urllib.robotparse:解析robots.txt檔案
      robots:機器人協議,放在網站的開頭,供給爬蟲讀取,當爬蟲讀到robots之後,就知道那些是允許爬取的資料,哪些是禁止爬取的資料
      (爬蟲道德問題:1.不許過頻繁爬取 2.不許爬取禁止內容)

案例v1

   # py01v1.py
   from urllib import request

   # 使用urllib.request請求一個網頁的內容,並把內容列印出來
   if __name__ == '__main__':

       # 定義需要爬的頁面
       url = "https://jobs.zhaopin.com/CC375882789J00033399409.htm"
       # 開啟相應url並把頁面作為返回
       rsp = request.urlopen(url)
       # 按住Ctrl鍵不送,同時點選urlopen,可以檢視文件,有函式的具體引數和使用方法

       # 把返回結果讀取出來
       html = rsp.read()

       print(html)

上面簡單幾行程式碼就可以爬取頁面的HTML程式碼了
右鍵執行,截圖如下
這裡寫圖片描述
但是,我們爬取到的程式碼是不能自行顯示中文的,需要解碼處理
py02v1.py檔案:
https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py02v1.py

   # py02v1.py
   from urllib import request

   if __name__ == '__main__':

       url = "https://jobs.zhaopin.com/CC375882789J00033399409.htm"
       rsp = request.urlopen(url)
       # 按住Ctrl鍵不送,同時點選urlopen,可以檢視文件,有函式的具體引數和使用方法

       html = rsp.read()
       # 解碼
       html = html.decode()

       print(html)

解碼後效果:
這裡寫圖片描述
恭喜你,最簡單的爬蟲就已經學會啦!
如果執行失敗,可能是
1.【爬取的連線失效】,更換最新的地址就可以了
2.【Python環境問題】,這裡不做仔細介紹,請自行【百度】解決,也可聯絡博主
QQ:1370911284
微信:18322295195

更多文章連結:Python 爬蟲隨筆


- 本筆記學習於圖靈學院python全棧課程
- 本筆記不允許任何個人和組織轉載

相關文章