使用代理以及搭建代理池
一、使用代理
如果使用自自身IP地址访问,很有可能被封IP,以后就访问不了了
那如何解决呢?我们可以使用代理IP(代理:)
设置超时,请求参数加上timeout=时间即可
异常处理:用try except 包一下即可
上传文件:虽然爬虫没有上传文件的需求
但是后期在开发过程中需要批量上传文件,这个时候需要requests模块处理
换句话说应用场景
高匿名代理和透明代理
高匿名代理:服务端拿不到真实客户端的IP地址
透明代理:能够拿到真实客户端的IP地址。也能拿到代理
使用高匿名代理时候,如何拿到真实客户端的IP地址?在请求头中有一个参数叫X-Forward-For:''
import requests
proxies={'http':'60.167.91.34:33080'}
proxies={
'http':'27.79.236.66:4001'
}
res = requests.post('https://wwww.cnbolgs.com',proxies=proxies)
print(res.status_code)
'上传文件'
import requests
files = {'file': open('美女.png', 'rb')}
respone = requests.post('http://httpbin.org/post', files=files)
print(respone.status_code)
'异常处理'
import requests
#可以查看requests.exceptions获取异常类型
from requests.exceptions import *
try:
r=requests.get('http://www.baidu.com',timeout=0.00001)
except ReadTimeout:
print('===:')
except RequestException:
print('Error')
'超时设置'
import requests
respone=requests.get('https://www.baidu.com',timeout=0.0001)
二、代理池搭建
-
访问搭建免费的代理池>>> https://github.com/jhao104/proxy_pool
-
下载zip文件到本地再解压之后再pycharm打开
-
单独给该项目创建虚拟环境
-
安装依赖
pip install -r requirements.txt
- 修改配置
DB_CONN = 'redis://127.0.0.1:6379/0'
- 启动爬虫程序
python proxyPool.py schedule
- 启动服务端
python proxyPool.py server
- 使用随机免费代理
在浏览器地址栏中搜索http://127.0.0.1:5010/get/
可以获取随机免费代理IP,到此自己搭建代理池结束了。
三、使用随机代理发送请求
import requests
from requests.packages import urllib3
urllib3.disable_warnings() # 关闭警告
res = requests.get('http://127.0.0.1:5010/get/').json() # 获取代理
proxies = {}
if res['https']:
proxies['https'] = res['proxy']
else:
proxies['http'] = res['proxy']
print(proxies)
res = requests.post('https://www.cnblogs.com', proxies=proxies, verify=False)
print(res)
开多线程的脚本
from threading import Thread
import requests
def task():
res = requests.get('http://101.43.19.239/')
print(res.text)
for i in range(10000000):
t = Thread(target=task)
t.start()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)