Python爬虫==【openurl】
本文以爬取百度首頁為示例來學習,python版本為python3.6.7,完整代碼會在文章末附上
本次學習所用到的python框架:
urllib.request:
本次學習所用到的函數:
urllib.request.urlopen():發送http的get請求
.read():讀取抓到的內容
.decode("utf-8"):將獲取的betys格式數據轉換為string格式數據
1.發送http的get請求使用的函數urllib.request.urlopen() ,其返回內容是所請求[做運維的小年輕]的url的網頁源代碼 可以將返回的內容賦給另外一個key
例如 response = urllib.request.urlopen(url)
代碼執行結果:
好像是存在內存里,這應該展示的是一個內存地址。
2.我們需要將內容讀出來就用到了有一個函數.read()
data = response.read() 將response的內容讀出來賦值給data
代碼執行結果:獲取的數據類型為bytes,沒有可讀性哈
3.需要進行轉換將data轉換成字符串類型,用到函數.decode("utf-8")
str_data = data.decode("utf-8")
代碼執行結果:【ps:將上面的https改為http】不截圖了這里就能打印出url所對應的網頁源代碼了
4.接下來是數據持久化的問題【固定格式記住就行了】
代碼運行會生成一個baidu.html保存的是上面搜抓取的內容。
可以本地運行會打開一個瀏覽器頁面:
完整代碼見附件。
5.那我們在爬蟲的時候也會有需求,將字符串轉換為你bytes格式,這就需要用到函數.encode
代碼運行結果:
Python爬取到的數據類型一般有兩種:str 、 bytes
如果是爬取回來的是bytes類型,但是需要寫入的是str類型用到的就是第4條的.decode(utf-8)
如果爬取回來的是str類型,但是需要寫入的是bytes類型用到的就是第5條對的.encode(utf-8)
總結
以上是生活随笔為你收集整理的Python爬虫==【openurl】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pycharm安装和基本使用
- 下一篇: websocket python爬虫_p