Scrapy爬取百度股票时遇403错误的解决方法
来源:互联网 发布:天使语训软件 编辑:程序博客网 时间:2024/06/06 03:46
问题:用Scrapy爬取百度股票的单支股票信息时,遇到403拒绝访问错误,这应该是触发了反爬机制。
解决方法:通过尝试发现百度股票(http://gupiao.baidu.com)反爬机制是检测User-Agent,因此这里可以通过使用随机User-Agent来进行爬取。
首先,这是网上找来的常用User-Agent列表,将它放在spider目录下的爬虫文件的类中:
user_agent_list = [\ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"\ "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",\ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6",\ "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6",\ "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1",\ "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5",\ "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5",\ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",\ "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",\ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",\ "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",\ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",\ "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",\ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",\ "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",\ "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3",\ "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24",\ "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24" ]
然后,随机抽取User-Agent并添加到headers中,这段代码应放在页面请求方法中:
ua = random.choice(self.user_agent_list)#随机抽取User-Agentheaders = { 'Accept-Encoding':'gzip, deflate, sdch, br', 'Accept-Language':'zh-CN,zh;q=0.8', 'Connection':'keep-alive', 'Referer':'https://gupiao.baidu.com/', 'User-Agent':ua }#构造请求头
最后通过生成器生成访问请求:
yield scrapy.Request(url,callback=self.parse,headers=headers)
从而就可实现使用随机的User-Agent规避反爬虫机制。
0 0
- Scrapy爬取百度股票时遇403错误的解决方法
- 使用Scrapy爬取股票数据
- scrapy 爬豆瓣返回403错误的解决方法
- Scrapy爬取百度图片(一)
- Scrapy爬取百度图片(二)
- 爬取百度百科[scrapy启发]
- scrapy 爬取https网页时出现ssl错误
- scrapy 爬取https网页时出现ssl错误
- scrapy使用时的一些错误及解决方法
- Scrapy 爬取百度贴吧指定帖子的发帖人和回帖人
- 十一.scrapy 爬取百度相关搜索主题信息内容
- scrapy框架爬取百度贴吧图片
- Scrapy 爬取 豆瓣电影的短评
- scrapy爬取post的数据
- scrapy捕获爬取失败的url
- 用Python 的 Scrapy 爬取 网站
- 【Scrapy-01】安装、创建项目、创建爬虫、简单爬取百度title的例子以及工作流程简介
- scrapy实战-爬取
- opencv 图像模板匹配
- JS闭包理解以及立即执行函数
- Fiddler获取包信息
- Hadoop中sequencefile和mapfile的区别
- 配置UVCCamera驱动到内核
- Scrapy爬取百度股票时遇403错误的解决方法
- 剑指Offer面试题17 & Leetcode21
- 数据结构 — 二叉树的基本操作(递归实现)
- 串口中怎样接收一个完整数据包的解析
- java学生成绩管理系统
- 能不做自己写个类,也叫java.lang.String?
- VS2013+CUDA+TBB
- ViewPager+Fragment动态增加页面,删除页面
- ZOJ_3949 Edge to the Root