Python3 默認(rèn)提供了urllib庫(kù),可以爬取網(wǎng)頁(yè)信息,但其中確實(shí)有不方便的地方,如:處理網(wǎng)頁(yè)驗(yàn)證和Cookies,以及Hander頭信息處理。
為了更加方便處理,有了更為強(qiáng)大的庫(kù) urllib3
和 requests
, 本節(jié)會(huì)分別介紹一下,以后我們著重使用requests
。
1. urllib3庫(kù)的使用:
- 安裝:通過(guò)使用pip命令來(lái)安裝urllib3
pip install urllib3
- 簡(jiǎn)單使用:
import urllib3
import re
# 實(shí)例化產(chǎn)生請(qǐng)求對(duì)象
http = urllib3.PoolManager()
# get請(qǐng)求指定網(wǎng)址
url = "http://www.baidu.com"
res = http.request("GET",url)
# 獲取HTTP狀態(tài)碼
print("status:%d" % res.status)
# 獲取響應(yīng)內(nèi)容
data = res.data.decode("utf-8")
# 正則解析并輸出
print(re.findall("
",data))
- 其他設(shè)置: 增加了超時(shí)時(shí)間,請(qǐng)求參數(shù)等設(shè)置
import urllib3
import re
url = "http://www.baidu.com"
http = urllib3.PoolManager(timeout = 4.0) #設(shè)置超時(shí)時(shí)間
res = http.request(
"GET",
url,
#headers={
# 'User-Agent':'Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1',
#},
fields={'id':100,'name':'lisi'}, #請(qǐng)求參數(shù)信息
)
print("status:%d" % res.status)
data = res.data.decode("utf-8")
print(re.findall("
",data))
2. requests庫(kù)的使用:
- 安裝:通過(guò)使用pip命令來(lái)安裝requests
pip install requests
- 簡(jiǎn)單使用:
import requests
import re
url = "http://www.baidu.com"
# 抓取信息
res = requests.get(url)
#獲取HTTP狀態(tài)碼
print("status:%d" % res.status_code)
# 獲取響應(yīng)內(nèi)容
data = res.content.decode("utf-8")
#解析出結(jié)果
print(re.findall("
",data))
審核編輯:湯梓紅
-
信息
+關(guān)注
關(guān)注
0文章
407瀏覽量
35885 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86407
發(fā)布評(píng)論請(qǐng)先 登錄
適用于MySQL和MariaDB的Python連接器:可靠的MySQL數(shù)據(jù)連接器和數(shù)據(jù)庫(kù)

適用于Oracle的Python連接器:可訪問(wèn)托管以及非托管的數(shù)據(jù)庫(kù)
云數(shù)據(jù)庫(kù)是哪種數(shù)據(jù)庫(kù)類(lèi)型?
數(shù)據(jù)庫(kù)事件觸發(fā)的設(shè)置和應(yīng)用
HAL庫(kù)和標(biāo)準(zhǔn)庫(kù)的區(qū)別 HAL庫(kù)與CMSIS的關(guān)系
KiCon演講回顧(六):Würth Elektronik KiCad 庫(kù)設(shè)計(jì)與管理

評(píng)論