日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python爬虫==【openurl】

發(fā)布時(shí)間:2025/4/16 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python爬虫==【openurl】 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文以爬取百度首頁(yè)為示例來(lái)學(xué)習(xí),python版本為python3.6.7,完整代碼會(huì)在文章末附上

本次學(xué)習(xí)所用到的python框架:
urllib.request:

本次學(xué)習(xí)所用到的函數(shù):
urllib.request.urlopen():發(fā)送http的get請(qǐng)求
.read():讀取抓到的內(nèi)容
.decode("utf-8"):將獲取的betys格式數(shù)據(jù)轉(zhuǎn)換為string格式數(shù)據(jù)

1.發(fā)送http的get請(qǐng)求使用的函數(shù)urllib.request.urlopen() ,其返回內(nèi)容是所請(qǐng)求[做運(yùn)維的小年輕]的url的網(wǎng)頁(yè)源代碼 可以將返回的內(nèi)容賦給另外一個(gè)key
例如 response = urllib.request.urlopen(url)

代碼執(zhí)行結(jié)果:

好像是存在內(nèi)存里,這應(yīng)該展示的是一個(gè)內(nèi)存地址。

2.我們需要將內(nèi)容讀出來(lái)就用到了有一個(gè)函數(shù).read()
data = response.read() 將response的內(nèi)容讀出來(lái)賦值給data

代碼執(zhí)行結(jié)果:獲取的數(shù)據(jù)類型為bytes,沒(méi)有可讀性哈


3.需要進(jìn)行轉(zhuǎn)換將data轉(zhuǎn)換成字符串類型,用到函數(shù).decode("utf-8")
str_data = data.decode("utf-8")

代碼執(zhí)行結(jié)果:【ps:將上面的https改為http】不截圖了這里就能打印出url所對(duì)應(yīng)的網(wǎng)頁(yè)源代碼了

4.接下來(lái)是數(shù)據(jù)持久化的問(wèn)題【固定格式記住就行了】

代碼運(yùn)行會(huì)生成一個(gè)baidu.html保存的是上面搜抓取的內(nèi)容。
可以本地運(yùn)行會(huì)打開(kāi)一個(gè)瀏覽器頁(yè)面:

完整代碼見(jiàn)附件。
5.那我們?cè)谂老x(chóng)的時(shí)候也會(huì)有需求,將字符串轉(zhuǎn)換為你bytes格式,這就需要用到函數(shù).encode

代碼運(yùn)行結(jié)果:

Python爬取到的數(shù)據(jù)類型一般有兩種:str 、 bytes
如果是爬取回來(lái)的是bytes類型,但是需要寫(xiě)入的是str類型用到的就是第4條的.decode(utf-8)
如果爬取回來(lái)的是str類型,但是需要寫(xiě)入的是bytes類型用到的就是第5條對(duì)的.encode(utf-8)

總結(jié)

以上是生活随笔為你收集整理的Python爬虫==【openurl】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。