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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

requests与urllib.request

發(fā)布時間:2025/7/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 requests与urllib.request 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

requests與urllib.request

  • requests很明顯,在寫法上與urllib.request不同,前者多一個?S.
  • 導(dǎo)入包時:
    import requests
    import urllib.request
  • urllib.request請求模塊,用于打開和讀取url
    • urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)
    • response.read()可以獲取到網(wǎng)頁的內(nèi)容
    • timeout參數(shù)的使用在某些網(wǎng)絡(luò)情況不好或者服務(wù)器端異常的情況會出現(xiàn)請求慢的情況,或者請求異常,有時也用來解決反爬,控制爬行速度。
    • response.status,response.getheaders()【response.headers】【response.info()】獲取狀態(tài)碼以及頭部信息。response.read()獲得的是響應(yīng)體的內(nèi)容.
    • urlopen()只能用于簡單的請求,它無法添加header信息。
  • urllib.request.Request(url)?注意大寫。
    • 使用data參數(shù);
  • data = urllib.parse.urlencode(dict).encode(‘utf-8’)
    使用data參數(shù)如果要傳?必須傳bytes(字節(jié)流)?類型的,如果是一個字典,先用?urllib.parse.urlencode()?編碼。
    request = urllib.request.Request(url = url,data = data,headers = headers,method = ‘POST’)
    2.req = urllib.request.Request(url=url,data=data,method=‘POST’)
    req.add_header(‘User-Agent’,'Mozilla/5.0)?添加頭部信息
  • rulllib.request.ProxyHandler()設(shè)置代理,網(wǎng)站會檢測某一段時間某個IP 的訪問次數(shù),訪問次數(shù)過多,會禁止訪問,使用代理安全系數(shù)也會相應(yīng)提高。
  • urllib.error:包含提出有例外的urllib.request
  • urllib.parse:用于解析url
  • urllib.robotparser:用于解析robots.txt文件。



requests完全滿足網(wǎng)絡(luò)爬蟲的需求,他是在urllib基礎(chǔ)上進一步封裝,具備urllib的全部功能。

  • 安裝 pip install requests
  • 基于http的post,get請求
    • r = requests.get(url, params=d) 參數(shù)d表示值為字符串的字典,d不是必須的
    • r = requests.post(url,data=data)post請求需 設(shè)置請求參數(shù)data
    • 請求對象response相應(yīng)內(nèi)容
    • r.status_code:響應(yīng)狀態(tài)碼
    • r.raw:原始響應(yīng)體,使用r.raw.read()讀取
    • r.content:字節(jié)方式的響應(yīng)體,需要進行解碼
    • r.text:字符串形式的響應(yīng)體,會自動根據(jù)響應(yīng)頭部的字符編碼進行解碼
    • r.headers:以字典對象存儲服務(wù)器響應(yīng)頭,字典見鍵不區(qū)分大小寫,若鍵不存在返回none。
    • r.json():Requests中內(nèi)置的json解碼器
    • r.raise_for_status():請求失敗,拋出異常
    • r.url:獲取請求鏈接
    • r.cookies:獲取請求后的cookie
    • r.encoding:獲取編碼格式

轉(zhuǎn)載于:https://www.cnblogs.com/qinchao0317/p/11115680.html

總結(jié)

以上是生活随笔為你收集整理的requests与urllib.request的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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