Python爬虫 | IP池的使用

- 爬虫中为什么需要使用代理

  一些网站会有相应的反爬虫措施,例如很多网站会检测某一段时间某个IP的访问次数,如果访问频率太快以至于看起来不像正常访客,它可能就会禁止这个IP的访问。所以我们需要设置一些代理IP,每隔一段时间换一个代理IP,就算IP被禁止,依然可以换个IP继续爬取。

 

- 代理的分类:

  正向代理:代理客户端获取数据。正向代理是为了保护客户端防止被追究责任。

  反向代理:代理服务器提供数据。反向代理是为了保护服务器或负责负载均衡。

 

- 免费代理ip提供网站

  

  西刺代理

  快代理

 

匿名度

  - 透明:知道是代理ip,也会知道你的真实ip

  - 匿名:知道是代理ip,不会知道你的真实ip

  - 高匿:不知道是代理ip,不会知道你的真实ip

 

类型:

  - http:只能请求http开头的url

  - https:只能请求https开头的url

 

示例

import requests headers = { \'User-Agent\': \'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36\' } url = \'https://www.baidu.com/s?wd=ip\' # 不同的代理IP,代理ip的类型必须和请求url的协议头保持一致 proxy_list = [ {"http": "112.115.57.20:3128"}, {\'http\': \'121.41.171.223:3128\'} ] # 随机获取代理IP proxy = random.choice(proxy_list) page_text = requests.get(url=url,headers=headers,proxies=proxy).text with open(\'ip.html\',\'w\',encoding=\'utf-8\') as fp: fp.write(page_text) print(\'over!\')

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgyzf.html