立即注册
查看: 2081|回复: 0

python和爬虫代理的关联

已绑定手机
发表于 2020-8-5 17:42:27 | 显示全部楼层 |阅读模式 来自 四川省成都市
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代理很重要。当然如果要高效安全稳定的采集数据,还是需要在网上购买一些付费的亿牛云高匿爬虫代理。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表