
Requests代理配置:简单几行代码搞定
用Requests库配代理特别简单,只需要在请求时加个proxies参数就行。这里推荐用ipipgo的代理服务,他们的IP质量稳定,特别适合爬虫项目。
import requests
使用ipipgo的代理IP
proxies = {
'http': 'http://用户名:密码@代理服务器地址:端口',
'https': 'https://用户名:密码@代理服务器地址:端口'
}
response = requests.get('http://httpbin.org/ip', proxies=proxies)
print(response.text)
如果你用的是ipipgo的动态住宅代理,他们还支持按需生成代理地址,这样就不用担心IP被封的问题了。
Scrapy代理设置:中间件是核心
Scrapy的代理配置稍微复杂点,需要通过中间件来实现。不过掌握了方法后也很简单。
首先在settings.py里开启下载中间件:
DOWNLOADER_MIDDLEWARES = {
'yourprojectname.middlewares.ProxyMiddleware' : 543,
}
然后创建middlewares.py文件,添加代理中间件:
import base64
class ProxyMiddleware(object):
def process_request(self, request, spider):
ipipgo代理服务器信息
proxy_server = "你的代理服务器地址:端口"
proxy_user = "用户名"
proxy_pass = "密码"
认证信息处理
credentials = f"{proxy_user}:{proxy_pass}"
encoded_credentials = base64.b64encode(credentials.encode()).decode()
request.meta['proxy'] = f"http://{proxy_server}"
request.headers['Proxy-Authorization'] = f'Basic {encoded_credentials}'
Selenium代理配置:浏览器级别的设置
Selenium的代理配置需要在启动浏览器时设置,不同浏览器方法略有不同。以Chrome为例:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
设置ipipgo代理
proxy = "代理服务器地址:端口"
chrome_options.add_argument(f'--proxy-server=http://{proxy}')
如果需要认证,可以配合其他工具实现
driver = webdriver.Chrome(options=chrome_options)
访问需要认证的代理页面(如果有web认证界面)
driver.get("http://代理认证页面")
对于需要用户名密码认证的代理,建议使用ipipgo提供的API方式,这样更安全稳定。
代理IP类型选择:动态还是静态?
选择代理IP类型很重要,这里简单对比一下:
Agents résidentiels dynamiques:IP不断更换,适合大规模数据采集,不容易被封锁。ipipgo的动态住宅代理有9000万+IP资源,覆盖220+国家地区。
Agents résidentiels statiques:IP固定不变,适合需要保持会话的场景。ipipgo的静态住宅代理有50万+高质量IP,99.9%的可用性。
根据你的业务需求选择合适的类型,如果是普通爬虫,动态代理更经济;如果需要登录保持,静态代理更合适。
Foire aux questions QA
Q:代理IP为什么连接不上?
A:检查代理地址和端口是否正确,确认账号余额是否充足,网络环境是否支持代理连接。
Q : Comment vérifier l'efficacité de l'agent ?
A:可以访问http://httpbin.org/ip查看返回的IP地址是否变成了代理IP。
Q : Que dois-je faire si mon agent est lent ?
A:尝试更换代理服务器节点,选择离目标网站更近的代理服务器,或者联系ipipgo客服优化线路。
Q:代理IP被目标网站封了怎么办?
A:使用ipipgo的动态代理服务,自动切换IP,或者调整请求频率,模拟正常用户行为。
实用小技巧
1. 代理池管理:建议使用ipipgo的API接口动态获取代理,建立自己的代理池,自动剔除失效的代理。
2. réglage du délai d'attente:在使用代理时一定要设置合理的超时时间,避免因为代理问题导致程序卡死。
3. Gestion des exceptions:做好代理连接失败的异常处理,及时切换备用代理。
4. Suivi des performances:定期检查代理的连接成功率和响应速度,及时优化配置。
掌握了这些配置方法,配合ipipgo高质量的代理服务,你的爬虫项目就能稳定高效地运行了。记得根据实际需求调整配置,达到最佳效果。

