python和爬虫代理的关联

laical · · 234 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
HTTP就相当于一个传输机制,在甲方和乙方的中间传输自己想要的一种数据。 怎么在python中使用爬虫代理。http代理是爬虫研发中不可缺少的一部分。假如需要大量采集互联网网站上的数据,长时间访问必定网站会出现反爬。为了避免出现这种问题,一般需要把请求分配到其他不同的爬虫程序上。 由于部分公司为了降低成本,就会再互联网网站上采集一些免费的肉鸡代理IP或者购买付费代理去进行采集。 互联网上的免费代理,大家网上随便搜索都能出来一大批,至于网上的免费代理的安全性和可用性,一般的爬虫研发一测试就知道好与坏。假如数据采集中 有部分内容包含 需要登录等的话 还是不要用网上的免费IP。可以自己搭建一个IP池或者购买亿牛云的付费代理 python爬虫使用http代理: #! -*- encoding:utf-8 -*- import base64 import sys import random PY3 = sys.version_info[0] >= 3 def base64ify(bytes_or_str): if PY3 and isinstance(bytes_or_str, str): input_bytes = bytes_or_str.encode('utf8') else: input_bytes = bytes_or_str output_bytes = base64.urlsafe_b64encode(input_bytes) if PY3: return output_bytes.decode('ascii') else: return output_bytes class ProxyMiddleware(object): def process_request(self, request, spider): # 代理服务器(产品官网 www.16yun.cn) proxyHost = "t.16yun.cn" proxyPort = "31111" # 代理验证信息 proxyUser = "username" proxyPass = "password" request.meta['proxy'] = "http://{0}:{1}".format(proxyHost,proxyPort) # 添加验证头 encoded_user_pass = base64ify(proxyUser + ":" + proxyPass) request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass # 设置IP切换头(根据需求) tunnel = random.randint(1,10000) request.headers['Proxy-Tunnel'] = str(tunnel) 总结:无论是什么爬虫,在爬虫过程中http代理很重要。当然如果要高效安全稳定的采集数据,还是需要在网上购买一些付费的亿牛云高匿爬虫代理。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:1006366459

234 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传