爬虫设置代理

Posted sharepy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫设置代理相关的知识,希望对你有一定的参考价值。

以下是自己总结的设置 IP 代理的几种方法,仅供参考

 

方法一:

  requests发送请求添加代理

  proxies = {‘http‘:‘代理 IP:端口号‘}

实例:

1 import requests
2 
3 url = www.baidu.com
4 
5 response = request.get(url=url, proxies={http:ip:port})

 

方法二:

  调用 ProxyHandler 添加 代理

实例: 

 1 from urllib import request
 2 
 3 url = www.baidu.com
 4 
 5 # 设置代理
 6 handler = request.ProxyHandler({http:ip:port})
 7 opener = request.bulid_opener(handler)
 8 
 9 # 发送请求
10 req = request.Request(url=url)
11 response = opener.open(req)

 

方法三:

  使用 client 建立连接,添加代理 IP,port

实例:

1 from http import client
2 
3 url = www.baidu.com
4 
5 conn = client.HTTPConnection(ip, port, timeout=5)
6 response = conn.request(GET,url=url)

方法四

  在 scrapy下载中间件添加代理

  •   middlewares.py 自定义一个代理类,重写 process_request 方法
1 class MyDaiLi(object):
2     """docstring for MyDaiLi"""
3     # 重写这个方法
4     def process_request(self, request, spider):
5         request.meta[proxy] = http://ip:port
  •   settings.py (第55行)打开下载中间件,并将自定义的 MyDaiLi添加进去
1 DOWNLOADER_MIDDLEWARES = {
2    daili_loginproject.middlewares.MyDaiLi: 543,
3 }

 

以上是关于爬虫设置代理的主要内容,如果未能解决你的问题,请参考以下文章

用python零基础写爬虫--编写第一个网络爬虫 -2 设置用户代理

python爬虫,使用requests设置代理

python爬虫爬取豆瓣影评返回403怎么办,代理IP和cookie都设置了

Python爬虫实例代理的使用

python爬虫简单的添加代理进行访问

动态ip代理:反网络爬虫之设置User-Agent的常规方法