电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python requests模塊的使用示例

瀏覽:8日期:2022-06-23 09:57:00
為什么使用requests: 支持使用Cookie保持會(huì)話 支持文件上傳 支持自動(dòng)確定響應(yīng)內(nèi)容的編碼 對(duì)用戶來(lái)說(shuō)比較人性化模擬get請(qǐng)求:

獲取token

# 使用微信公眾平臺(tái)舉例get_param_dict={ 'grant_type':'**************', 'appid':'**************', 'secret':'**************',}response = requests.get(url=’https://api.weixin.qq.com/cgi-bin/token’, # url地址 params=get_param_dict) # 參數(shù)print(response.content.decode(’utf-8’))模擬請(qǐng)求頭部信息

注:因?yàn)閞equests請(qǐng)求頭是以python,requests發(fā)起的,所以大部分接口都會(huì)需要手動(dòng)添加頭部信息

# get 模擬請(qǐng)求頭部信息,(當(dāng)你發(fā)現(xiàn)數(shù)據(jù)不對(duì)時(shí),就模擬)# 以百度舉例get_param_dict ={ 'wd':'newdream'}# 添加頭部信息字典(可以使用抓包抓取到頭部信息)header_info_dict = { 'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36', 'Accpet':'text/plain, */*; q=0.01'}response = requests.get(url = ’https://www.baidu.com/s’, params=get_param_dict,headers=header_info_dict)print(response.content.decode(’utf-8’))模擬post請(qǐng)求

import requests,json# requests模擬發(fā)送post請(qǐng)求# 使用微信公眾平臺(tái)舉例url_param_doct = {'access_token': '43_XcK_1rvR8VPgicGGzq7Vp2QrGx30Kwhy9SSShoVTQs11G_jP9aqhy2bwRQFuG2hYzkwVjphJFfPj8WYQR8vgfu5Xej7KaZBiyPDJ9sYoCKte78sqgtBdCf6N5S8QosNXBOFSEJnzLMbxJwCOTWAgAAANQU'}post_param_data = { 'tag' : { 'name' : '我是新標(biāo)簽' }}response = requests.post(url=’https://api.weixin.qq.com/cgi-bin/tags/create’, params=url_param_doct, # json=post_param_data # 可以使用json data=json.dumps(post_param_data) # 也可以使用data,但是data要求是字符串,需要使用json模塊dumps轉(zhuǎn)化 )print(response.content.decode(’utf-8’))requests上傳文件

import requests,os# post上傳文件current_path = os.path.dirname(__file__) # os模塊定位當(dāng)前路徑excel_path = os.path.join(current_path,’..’,’data’,’j.xlsx’) # join拼接excel_file = {’file’:open(excel_path,’rb’)} # 做成字典,open打開(kāi)文件 rb:只讀二進(jìn)制response = requests.post(url=’https://2.python-requests.org/’, # requests官方實(shí)例文檔地址 files=excel_file) # files傳文件print( response.content.decode(’utf-8’) )requests設(shè)置代理

import requests# 設(shè)置代理:為什么設(shè)置代理?# 爬蟲(chóng)類項(xiàng)目,有檢測(cè)機(jī)制# 防止公司系統(tǒng)有防灌水功能# 需要翻墻做接口的時(shí)候proxy_server = {’http’:’http://127.0.0.1:8888’, ’https’:’http://127.0.0.1:8888’} # 做一個(gè)字典proxy_user_pass = { ’https’:’http://uesrname:password@127.0.0.1:8888’ # 需要用戶跟密碼使用這個(gè)}response = requests.get(url= ’https://baidu.com’, proxies=proxy_server) # proxies設(shè)置代理關(guān)鍵字print(response.status_code)time模塊設(shè)置請(qǐng)求超時(shí)

如果一個(gè)請(qǐng)求很久沒(méi)有結(jié)果,就會(huì)讓整個(gè)項(xiàng)目的效率變得非常低,這個(gè)時(shí)候我們就需要對(duì)請(qǐng)求進(jìn)行強(qiáng)制要求

讓他必須在特定的時(shí)間內(nèi)返回結(jié)果,否則就報(bào)錯(cuò)。

# 設(shè)置請(qǐng)求超時(shí)import requestsimport timeprint(time.time()) # 時(shí)間戳response = requests.get(url=’https://www.baidu.com’,timeout=3) # timeout=3: 請(qǐng)求如果在規(guī)定時(shí)間之內(nèi)(3秒鐘內(nèi))沒(méi)有得到響應(yīng),就會(huì)拋出超時(shí)錯(cuò)誤print(time.time())retrying模塊設(shè)置刷新

使用超時(shí)參數(shù)能夠加快我們整體的請(qǐng)求速度,但是在正常的網(wǎng)頁(yè)瀏覽過(guò)成功,如果發(fā)生速度很慢的情況,我們會(huì)做的選擇是刷新頁(yè)面

retrying模塊就可以幫助我們解決。使用retrying模塊提供的retry模塊

通過(guò)裝飾器的方式使用,讓被裝飾的函數(shù)反復(fù)執(zhí)行retry中可以傳入?yún)?shù)stop_max_attempt_number,讓函數(shù)報(bào)錯(cuò)后繼續(xù)重新執(zhí)行

達(dá)到最大執(zhí)行次數(shù)的上限,如果每次都報(bào)錯(cuò),整個(gè)函數(shù)報(bào)錯(cuò),如果中間有一個(gè)成功,程序繼續(xù)往后執(zhí)行。

import requestsfrom retrying import retry# 如果函數(shù)連續(xù)調(diào)用三次都報(bào)錯(cuò),才會(huì)報(bào)錯(cuò),如果三次之中有一次成功,就成功@retry(stop_max_attempt_number=3)def get_response(url): response = requests.get(url, timeout=2) return responseretrying_requests = get_response('https://www.baidu.com')print(retrying_requests.content.decode())cookie設(shè)置

好處:能夠訪問(wèn)登錄后的頁(yè)面

壞處:一套cookie往往對(duì)應(yīng)的是一個(gè)用戶的信息,請(qǐng)求太頻繁有更大的可能性被對(duì)方識(shí)別為爬蟲(chóng)如何解決 ?使用多個(gè)賬號(hào)

# 使用requests提供的session模塊import requests# 構(gòu)造formdata表單數(shù)據(jù),填寫(xiě)自己的賬號(hào)和密碼post_data = { 'username': 'xxxxx', 'password': 'xxxxx'}# session的使用: 在請(qǐng)求之前創(chuàng)建session對(duì)象session = requests.Session()# 后續(xù)的請(qǐng)求都由session來(lái)發(fā)起,因?yàn)閟ession中保存了用戶的登陸信息session.post(url='https://www.baidu.com', data=post_data)response = session.get('https://www.baidu.com')# 使用session請(qǐng)求登陸后的界面print(response.content.decode())處理證書(shū)認(rèn)證錯(cuò)誤

import requests# 方式一:不驗(yàn)證證書(shū),報(bào)警告,返回200requests.packages.urllib3.disable_warnings()# 直接解決爆紅警告# 方式二不驗(yàn)證證書(shū),報(bào)警告,返回200 ,后面拼接verify=False,加這個(gè)控制臺(tái)報(bào)警的話,就在加上方式一response = requests.get(’https://www.12306.cn’,verify=False)print(response.content.decode(’utf-8’))# 方式三:安裝pyopenssl 安裝之后就不會(huì)報(bào)錯(cuò)# pip3 install -U requests[security] response = requests.get(’https://www.12306.cn’)print(response.content.decode(’utf-8’))# 方式四: 加上證書(shū) 公司內(nèi)部 問(wèn)開(kāi)發(fā)要xxx.crt文件 ,最穩(wěn)妥response = requests.get(’https://www.12306.cn’,cert=(’/path/server.crt’, ’/path/key’))requests+jsonpath解析數(shù)據(jù)

hosts = ’https://api.weixin.qq.com’ # 主機(jī)地址# 獲取tokenget_param_dict = { 'grant_type':'**********', 'appid':'*************', 'secret':'***************'}response = requests.get(’%s/cgi-bin/token’%hosts,params=get_param_dict)json_obj = response.json() # json數(shù)據(jù)解析:從一個(gè)json體中取出需要的數(shù)據(jù),就叫json數(shù)據(jù)解析token_id = jsonpath.jsonpath(json_obj,’$.access_token’)[0] # 接口依賴,接口關(guān)聯(lián)print(token_id)

以上就是python requests模塊的使用的詳細(xì)內(nèi)容,更多關(guān)于python requests模塊的使用的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 北京普辉律师事务所官网_北京律师24小时免费咨询|法律咨询 | 江苏皓越真空设备有限公司| 砖机托板价格|免烧砖托板|空心砖托板厂家_山东宏升砖机托板厂 | 护栏打桩机-打桩机厂家-恒新重工| 车牌识别道闸_停车场收费系统_人脸识别考勤机_速通门闸机_充电桩厂家_中全清茂官网 | 酒瓶_酒杯_玻璃瓶生产厂家_徐州明政玻璃制品有限公司 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 压力变送器-上海武锐自动化设备有限公司 | Duoguan 夺冠集团 | 定制液氮罐_小型气相液氮罐_自增压液氮罐_班德液氮罐厂家 | 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | AGV叉车|无人叉车|AGV智能叉车|AGV搬运车-江西丹巴赫机器人股份有限公司 | 济南画室培训-美术高考培训-山东艺霖艺术培训画室 | 无锡装修装潢公司,口碑好的装饰装修公司-无锡索美装饰设计工程有限公司 | 苏州西装定制-西服定制厂家-职业装定制厂家-尺品服饰西装定做公司 | 智慧养老_居家养老_社区养老_杰佳通 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | 膜结构车棚|上海膜结构车棚|上海车棚厂家|上海膜结构公司 | 三价铬_环保铬_环保电镀_东莞共盈新材料贸易有限公司 | 水成膜泡沫灭火剂_氟蛋白泡沫液_河南新乡骏华消防科技厂家 | 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | 焦作网 WWW.JZRB.COM | 铣床|万能铣床|立式铣床|数控铣床|山东滕州万友机床有限公司 | 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 亚洲工业智能制造领域专业门户网站 - 亚洲自动化与机器人网 | 广东护栏厂家-广州护栏网厂家-广东省安麦斯交通设施有限公司 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 元拓建材集团官方网站 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | 模切之家-专注服务模切行业的B2B平台!| 回转支承-转盘轴承-回转驱动生产厂家-洛阳隆达轴承有限公司 | 多功能真空滤油机_润滑油全自动滤油机_高效真空滤油机价格-重庆润华通驰 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 | 破碎机_上海破碎机_破碎机设备_破碎机厂家-上海山卓重工机械有限公司 | 氧化锆陶瓷_氧化锆陶瓷加工_氧化锆陶瓷生产厂家-康柏工业陶瓷有限公司 |