Python网络爬虫中HTTP和HTTPS代理的完整使用教程

python使用http、https代理

在国内利用Python从Internet上爬取数据时,有些网站或API接口被限速或屏蔽,这时使用代理可以加速爬取过程,减少请求失败,Python程序使用代理的方法主要有以下几种:

(1)如果是在代码中使用一些网络库或爬虫框架进行数据爬取,一般这种框架都会支持设置代理,例如:

ini 复制代码
import urllib.request as urlreq
ph = urlreq.ProxyHandler({'https': 'https://127.0.0.1:1080'})
oper = urlreq.build_opener(ph)
urlreq.install_opener(oper)
res = oper.open("https://www.google.com")
print(res.read())
复制代码
dart 复制代码
import requests as req
print(req.get("https://www.google.com", proxies={'https': 'https://127.0.0.1:1080'}).content)

(2)如果使用的库没有提供设置代理的接口,但是底层使用了urllib、requests等库,可以尝试设置HTTP_PROXY 和HTTPS_PROXY环境变量,常用的网络库会自动识别这些环境变量,使用变量设置的代理发起请求,设置如下:

lua 复制代码
import os
os.environ['http_proxy'] = 'http://127.0.0.1:1080'
os.environ['https_proxy'] = 'https://127.0.0.1:1080'

(3)如果上述两种方法都没有用,那么还可以使用一些可以监听、拦截和修改网络包的工具和库如(Fiddler、mitmproxy、Sniffmaster)来拦截http请求包并修改地址,达到使用代理的效果。Sniffmaster是一款全平台抓包工具,支持HTTPS、TCP和UDP协议抓包,无需设置代理即可解密HTTPS流量,还提供代理抓包功能,适用于多种设备。

相关推荐
ywf12151 小时前
前端的dist包放到后端springboot项目下一起打包
前端·spring boot·后端
程序员爱钓鱼2 小时前
Go排序核心库: sort包深度指南
后端·面试·go
大阿明8 小时前
Spring Boot(快速上手)
java·spring boot·后端
墨香幽梦客9 小时前
API集成技术规范:RESTful与GraphQL在企业系统对接中的应用对比
后端·restful·graphql
刀法如飞10 小时前
AI编程时代,为什么35岁以上程序员会更吃香?
人工智能·后端·ai编程
小码哥_常10 小时前
Spring Boot 遇上 HMAC-SHA256,API 安全大升级!
后端
小码哥_常10 小时前
10分钟极速掌握!SpringBoot+Vue3整合SSE实现实时消息推送
后端
大黄说说12 小时前
深入 Go 语言 GMP 调度模型:高并发的秘密武器
后端
云原生指北12 小时前
Omnipub E2E 测试文章 - 自动化验证
后端
IT_陈寒12 小时前
SpringBoot自动配置揭秘:5个让开发效率翻倍的隐藏技巧
前端·人工智能·后端