0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python中urllib3庫和requests庫的使用

python爬蟲知識(shí)分享 ? 來源:python爬蟲知識(shí)分享 ? 作者:python爬蟲知識(shí)分享 ? 2022-03-21 16:08 ? 次閱讀

Python3 默認(rèn)提供了urllib庫,可以爬取網(wǎng)頁信息,但其中確實(shí)有不方便的地方,如:處理網(wǎng)頁驗(yàn)證和Cookies,以及Hander頭信息處理。

為了更加方便處理,有了更為強(qiáng)大的庫 urllib3requests, 本節(jié)會(huì)分別介紹一下,以后我們著重使用requests。

1. urllib3庫的使用:

  • 安裝:通過使用pip命令來安裝urllib3
    pip install urllib3
  • 簡單使用:
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庫的使用:

  • 安裝:通過使用pip命令來安裝requests
    pip install requests
  • 簡單使用:
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))

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 信息
    +關(guān)注

    關(guān)注

    0

    文章

    405

    瀏覽量

    35492
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4756

    瀏覽量

    84283
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何利用python和API查詢IP地址?

    Python,直接查詢IP地址的地理位置或詳細(xì)信息(如所屬國家、城市等)通常需要依賴外部API服務(wù),因?yàn)?b class='flag-5'>Python標(biāo)準(zhǔn)本身不提供直接查詢IP地址地理位置的功能。以下是一個(gè)使用
    發(fā)表于 08-28 11:55

    PADS-3D文件

    PADS-3D文件
    發(fā)表于 08-15 17:20 ?13次下載

    深度學(xué)習(xí)常用的Python

    深度學(xué)習(xí)作為人工智能的一個(gè)重要分支,通過模擬人類大腦中的神經(jīng)網(wǎng)絡(luò)來解決復(fù)雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的支持,成為了深度學(xué)習(xí)研究和應(yīng)用的首選工具。本文將深入探討
    的頭像 發(fā)表于 07-03 16:04 ?469次閱讀

    安裝esp-idf配置install.sh出錯(cuò)了怎么解決?

    recent call last): File \"/usr/local/lib/python3.6/dist-packages/pip/_vendor/urllib3/response.py\", line 425, in _error_catcher yield
    發(fā)表于 06-24 07:37

    ESP32下如何加自定義Python

    我看官方有提供Micropython的bin文件,但我想根據(jù)自己外設(shè)擴(kuò)充一下Python,這個(gè)應(yīng)該從哪里入手? 之前做過RTT系統(tǒng)的python擴(kuò)充,RTT有提供Micropyth
    發(fā)表于 06-18 06:27

    python 學(xué)習(xí):在內(nèi)網(wǎng) python-numpy 安裝方法,升級(jí)pip3版本的指令

    \\\\numpy-1.26.4-cp311-cp311-win_amd64.whl 內(nèi)網(wǎng)升級(jí)pip 升級(jí)版本的指令: python.exe -m pip install --upgrade pip--proxy \"http://gateway.schneider.z
    發(fā)表于 04-22 17:18

    博途用戶自定義的使用

    博途官方提供了很多,比如:基本函數(shù)、通信、安全、驅(qū)動(dòng)等等,用戶可以使用
    的頭像 發(fā)表于 12-25 10:08 ?785次閱讀
    博途用戶自定義<b class='flag-5'>庫</b>的使用

    phpy:PHP與Python互調(diào)用

    phpy 是識(shí)沃團(tuán)隊(duì)最新推出的開源項(xiàng)目,目標(biāo)是為 PHP 引入 Python 生態(tài),來彌補(bǔ) PHP 生態(tài)的空缺和不足。phpy 使得 PHP 可以調(diào)用所有 Python 的包。 包括當(dāng)下非常流行
    的頭像 發(fā)表于 12-12 10:43 ?932次閱讀
    phpy:PHP與<b class='flag-5'>Python</b>互調(diào)用<b class='flag-5'>庫</b>

    1000+常用Python一覽

    lxml,快速,易用、靈活的HTML和XML處理,功能超強(qiáng),在遇到有缺陷、不規(guī)范的xml時(shí),Python自帶的xml處理器可能無法解析。報(bào)錯(cuò)時(shí),程序會(huì)嘗試再用lxml的修復(fù)模式解析。
    的頭像 發(fā)表于 11-30 17:00 ?1049次閱讀

    python第三方有哪些

    Python 作為一門功能強(qiáng)大的編程語言,擁有豐富的第三方,幾乎覆蓋了各個(gè)領(lǐng)域的應(yīng)用。下面是一些常見且廣泛應(yīng)用的 Python 第三方的總結(jié),希望能為您提供幫助。 NumPy(Nu
    的頭像 發(fā)表于 11-29 14:31 ?2015次閱讀

    ROS Motion Planning運(yùn)動(dòng)規(guī)劃如何安裝相關(guān)依賴

    工作空間的src文件夾下,并解壓 安裝相關(guān)依賴 (1)關(guān)于Python 關(guān)于Python推薦使用Python3,對(duì)于Ubuntu20.04對(duì)應(yīng)的ROS Noetic一般默認(rèn)使用的都是Pytho
    的頭像 發(fā)表于 11-26 17:29 ?1038次閱讀

    python如何引入math

    Python,要使用math,首先需要先引入它。mathPython的一個(gè)標(biāo)準(zhǔn),它提
    的頭像 發(fā)表于 11-22 11:03 ?3744次閱讀

    Python關(guān)于retrying的使用

    到使用try except來進(jìn)行異常捕捉進(jìn)行失敗重試(Retry)。雖然try-escept一個(gè)非常常見和有效的方式來增強(qiáng)程序穩(wěn)定性,但是可能一不小心就會(huì)造成棧溢出。 所以接下來我就來介紹一個(gè)另外的一個(gè)專門用于失敗重試的: retrying 。 定義 在Python生態(tài)
    的頭像 發(fā)表于 11-14 11:01 ?449次閱讀

    時(shí)間序列分析的四個(gè)基本Python介紹

    在本文中,我們將介紹四個(gè)主要的Python——statmodels、tslearn、tssearch、 tsfresh ——每個(gè)都針對(duì)時(shí)間序列分析的不同方面進(jìn)行了定制。這些為從預(yù)
    的頭像 發(fā)表于 11-03 10:17 ?746次閱讀
    時(shí)間序列分析的四個(gè)基本<b class='flag-5'>Python</b><b class='flag-5'>庫</b>介紹

    Newspaper:用于提取和整理文章的python

    Newspaper 是一個(gè)很棒的python,用于提取和整理文章。 它有以下的優(yōu)點(diǎn): 多線程文章下載框架 識(shí)別新聞網(wǎng)址 從html提取文本 從html提取頂部圖像 從html提取所有圖像 從文本
    的頭像 發(fā)表于 10-30 14:24 ?638次閱讀