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

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

python爬蟲利器之requests庫的用法(超全面的爬取網(wǎng)頁案例)

瀏覽:85日期:2022-07-02 08:14:28
requests庫

利用pip安裝:pip install requests

基本請求

req = requests.get('https://www.baidu.com/')req = requests.post('https://www.baidu.com/')req = requests.put('https://www.baidu.com/')req = requests.delete('https://www.baidu.com/')req = requests.head('https://www.baidu.com/')req = requests.options(https://www.baidu.com/)1.get請求

參數(shù)是字典,我們可以傳遞json類型的參數(shù):

import requestsfrom fake_useragent import UserAgent#請求頭部庫headers = {'User-Agent':UserAgent().random}#獲取一個隨機(jī)的請求頭url = 'https://www.baidu.com/s'#網(wǎng)址params={ 'wd':'豆瓣' #網(wǎng)址的后綴}requests.get(url,headers=headers,params=params)

python爬蟲利器之requests庫的用法(超全面的爬取網(wǎng)頁案例)

返回了狀態(tài)碼,所以我們要想獲取內(nèi)容,需要將其轉(zhuǎn)成text:

#get請求headers = {'User-Agent':UserAgent().random}url = 'https://www.baidu.com/s'params={ 'wd':'豆瓣'}response = requests.get(url,headers=headers,params=params)response.text2.post 請求

參數(shù)也是字典,也可以傳遞json類型的參數(shù):

import requests from fake_useragent import UserAgentheaders = {'User-Agent':UserAgent().random}url = 'https://www.baidu.cn/index/login/login' #登錄賬號密碼的網(wǎng)址params = { 'user':'1351351335',#賬號 'password':'123456'#密碼}response = requests.post(url,headers=headers,data=params)response.text

python爬蟲利器之requests庫的用法(超全面的爬取網(wǎng)頁案例)

因?yàn)檫@里需要一個登錄的網(wǎng)頁,我這里就隨便用了一個,沒有登錄,所以顯示的結(jié)果是這樣的,如果想要測試登錄的效果,請找一個登錄的頁面去嘗試一下。

3.IP代理

采集時(shí)為避免被封IP,經(jīng)常會使用代理,requests也有相應(yīng) 的proxies屬性。

#IP代理import requests from fake_useragent import UserAgentheaders = {'User-Agent':UserAgent().random}url = 'http://httpbin.org/get' #返回當(dāng)前IP的網(wǎng)址proxies = { 'http':'http://yonghuming:123456@192.168.1.1:8088'#http://用戶名:密碼@IP:端口號 #'http':'https://182.145.31.211:4224'# 或者IP:端口號}requests.get(url,headers=headers,proxies=proxies)

代理IP可以去:快代理去找,也可以去購買。http://httpbin.org/get。這個網(wǎng)址是查看你現(xiàn)在的信息:

python爬蟲利器之requests庫的用法(超全面的爬取網(wǎng)頁案例)

4.設(shè)置訪問超時(shí)時(shí)間

可以通過timeout屬性設(shè)置超時(shí)時(shí)間,一旦超過這個時(shí)間還沒獲取到響應(yīng)內(nèi)容,就會提示錯誤。

#設(shè)置訪問時(shí)間requests.get('http://baidu.com/',timeout=0.1)

python爬蟲利器之requests庫的用法(超全面的爬取網(wǎng)頁案例)

5.證書問題(SSLError:HTTP)

ssl驗(yàn)證。

import requests from fake_useragent import UserAgent #請求頭部庫url = 'https://www.12306.cn/index/' #需要證書的網(wǎng)頁地址headers = {'User-Agent':UserAgent().random}#獲取一個隨機(jī)請求頭requests.packages.urllib3.disable_warnings()#禁用安全警告response = requests.get(url,verify=False,headers=headers)response.encoding = 'utf-8' #用來顯示中文,進(jìn)行轉(zhuǎn)碼response.text

python爬蟲利器之requests庫的用法(超全面的爬取網(wǎng)頁案例)

6.session自動保存cookies

import requestsfrom fake_useragent import UserAgentheaders = {'User-Agent':UserAgent().chrome}login_url = 'https://www.baidu.cn/index/login/login' #需要登錄的網(wǎng)頁地址params = { 'user':'yonghuming',#用戶名 'password':'123456'#密碼}session = requests.Session() #用來保存cookie#直接用session 歹意requests response = session.post(login_url,headers=headers,data=params)info_url = 'https://www.baidu.cn/index/user.html' #登錄完賬號密碼以后的網(wǎng)頁地址resp = session.get(info_url,headers=headers)resp.text

因?yàn)槲疫@里沒有使用需要賬號密碼的網(wǎng)頁,所以顯示這樣:

python爬蟲利器之requests庫的用法(超全面的爬取網(wǎng)頁案例)

我獲取了一個智慧樹的網(wǎng)頁

#cookie import requestsfrom fake_useragent import UserAgentheaders = {'User-Agent':UserAgent().chrome}login_url = 'https://passport.zhihuishu.com/login?service=https://onlineservice.zhihuishu.com/login/gologin' #需要登錄的網(wǎng)頁地址params = { 'user':'12121212',#用戶名 'password':'123456'#密碼}session = requests.Session() #用來保存cookie#直接用session 歹意requests response = session.post(login_url,headers=headers,data=params)info_url = 'https://onlne5.zhhuishu.com/onlinWeb.html#/stdetInex' #登錄完賬號密碼以后的網(wǎng)頁地址resp = session.get(info_url,headers=headers)resp.encoding = 'utf-8'resp.text

python爬蟲利器之requests庫的用法(超全面的爬取網(wǎng)頁案例)

7.獲取響應(yīng)信息

代碼 含義 resp.json() 獲取響應(yīng)內(nèi)容 (以json字符串) resp.text 獲取相應(yīng)內(nèi)容(以字符串) resp.content 獲取響應(yīng)內(nèi)容(以字節(jié)的方式) resp.headers 獲取響應(yīng)頭內(nèi)容 resp.url 獲取訪問地址 resp.encoding 獲取網(wǎng)頁編碼 resp.request.headers 請求頭內(nèi)容 resp.cookie 獲取cookie

到此這篇關(guān)于python爬蟲利器之requests庫的用法(超全面的爬取網(wǎng)頁案例)的文章就介紹到這了,更多相關(guān)python爬蟲requests庫用法內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | 示波器高压差分探头-国产电流探头厂家-南京桑润斯电子科技有限公司 | 次氯酸钠厂家,涉水级次氯酸钠,三氯化铁生产厂家-淄博吉灿化工 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 爆破器材运输车|烟花爆竹运输车|1-9类危险品厢式运输车|湖北江南专用特种汽车有限公司 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 重庆中专|职高|技校招生-重庆中专招生网 | 森旺-A级防火板_石英纤维板_不燃抗菌板装饰板_医疗板 | 广西资质代办_建筑资质代办_南宁资质代办理_新办、增项、升级-正明集团 | 山东艾德实业有限公司 | 贴片电感_贴片功率电感_贴片绕线电感_深圳市百斯特电子有限公司 贴片电容代理-三星电容-村田电容-风华电容-国巨电容-深圳市昂洋科技有限公司 | 全自动真空上料机_粉末真空上料机_气动真空上料机-南京奥威环保科技设备有限公司 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | 水平筛厂家-三轴椭圆水平振动筛-泥沙震动筛设备_山东奥凯诺矿机 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | CXB船用变压器-JCZ系列制动器-HH101船用铜质开关-上海永上船舶电器厂 | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 微学堂-电动能源汽车评测_电动车性能分享网 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 浴室柜-浴室镜厂家-YINAISI · 意大利设计师品牌 | 咿耐斯 |-浙江台州市丰源卫浴有限公司 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 建大仁科-温湿度变送器|温湿度传感器|温湿度记录仪_厂家_价格-山东仁科 | 水质传感器_水质监测站_雨量监测站_水文监测站-山东水境传感科技有限公司 | 东风体检车厂家_公共卫生体检车_医院体检车_移动体检车-锦沅科贸 | 安德建奇火花机-阿奇夏米尔慢走丝|高维|发那科-北京杰森柏汇 | 不锈钢散热器,冷却翅片管散热器厂家-无锡市烨晟化工装备科技有限公司 | 色谱柱-淋洗液罐-巴罗克试剂槽-巴氏吸管-5ml样品瓶-SBS液氮冻存管-上海希言科学仪器有限公司 | 西安烟道厂家_排气道厂家_包立管厂家「陕西西安」推荐西安天宇烟道 | 北京百度网站优化|北京网站建设公司-百谷网络科技 | 合肥注册公司|合肥代办营业执照、2024注册公司流程 | HV全空气系统_杭州暖通公司—杭州斯培尔冷暖设备有限公司 | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 哈尔滨发电机,黑龙江柴油发电机组-北方星光| 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 | 反渗透阻垢剂-缓蚀阻垢剂厂家-循环水处理药剂-山东鲁东环保科技有限公司 | 环境模拟实验室_液体-气体控温机_气体控温箱_无锡双润冷却科技有限公司 | 淘趣英语网 - 在线英语学习,零基础英语学习网站 | 非小号行情 - 专业的区块链、数字藏品行情APP、金色财经官网 |