本站消息

站长简介/公众号


站长简介:高级软件工程师,曾在阿里云,每日优鲜从事全栈开发工作,利用周末时间开发出本站,欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2021-03(4)

2021-04(4)

爬虫你们是使用的什么框架呢?

发布于2021-06-22 16:33     阅读(231)     评论(0)     点赞(0)     收藏(0)



不知道大家日常爬虫工作中会使用到什么框架呢?我一般都是使用的Scrapy,它是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。并且它框架的力量很强大,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。 那我们今天就用这个框架来采集获取一些亚马逊的数据,大家都知道这是个比较难采集的网站,首先我们的反爬策略是需要做好的,然后就是最重要的一点就是加代理,现在大部分网站都是根据IP来判断的,可以通过亿牛云海量定制代理池来突破网站的限制。 使用 亿牛云爬虫代理组件代码如下:

#! -*- 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)







所属网站分类: 技术文章 > 博客

作者:yiniuyun

链接:https://www.pythonheidong.com/blog/article/991172/53ba0105f739b40c7077/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

0 0
收藏该文
已收藏

评论内容:(最多支持255个字符)