scrapy爬取数据时,为啥总是302

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy爬取数据时,为啥总是302相关的知识,希望对你有一定的参考价值。

参考技术A 爬虫跟踪下一页的方法是自己模拟点击下一页连接,然后发出新的请求。请看: item1 = Item()yield item1item2 = Item()yield item2req = Request(url='下一页的链接', callback=self.parse)yield req 注意使用yield时不要用return语句。 参考技术B 说明被重定向到首页了,在yield scrapy.request里面设置meta属性dont_redirect为true 参考技术C 爬虫跟踪下一页的方法是自己模拟点击下一页连接,然后发出新的请求。请看: item1 = Item()yield item1item2 = Item()yield item2req = Request(url='下一页的链接', callback=self.parse)yield req 注意使用yield时不要用return语句。 参考技术D 2种方法:
1 在seting.py 中添加
REDIRECT_ENABLED = False
HTTPERROR_ALLOWED_CODES = 302
2,在setting.py中添加
DOWNLOADER_MIDDLEWARES_BASE =
'scrapy.contrib.downloadermiddleware.robotstxt.RobotsTxtMiddleware': 100,
'scrapy.contrib.downloadermiddleware.httpauth.HttpAuthMiddleware': 300,
'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': 400,
'scrapy.contrib.downloadermiddleware.retry.RetryMiddleware': 500,
'scrapy.contrib.downloadermiddleware.defaultheaders.DefaultHeadersMiddleware': 550,
#'scrapy.contrib.downloadermiddleware.redirect.RedirectMiddleware': 600,
'scrapy.contrib.downloadermiddleware.cookies.CookiesMiddleware': 700,
'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 750,
'scrapy.contrib.downloadermiddleware.httpcompression.HttpCompressionMiddleware': 800,
'scrapy.contrib.downloadermiddleware.stats.DownloaderStats': 850,
'scrapy.contrib.downloadermiddleware.httpcache.HttpCacheMiddleware': 900,

Python爬虫实战,Scrapy实战,爬取并简单分析知网中国专利数据

前言

今天我们就用scrapy爬一波知网的中国专利数据并做简单的数据可视化分析呗。让我们愉快地开始吧~

PS:本项目仅供学习交流,实践本项目时烦请设置合理的下载延迟与爬取的专利数据量,避免给知网服务器带来不必要的压力。

开发工具

Python版本:3.6.4
相关模块:

scrapy模块;

fake_useragent模块;

pyecharts模块;

wordcloud模块;

jieba模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

数据爬取

我们需要爬取的数据例如下图所示:

即包括以下这些内容:

爬取思路:

我们可以很容易地发现每个专利的详情页url都是类似这样的:

http://dbpub.cnki.net/grid2008/dbpub/Detail.aspx?DBName=SCPD年份&FileName=专利公开号&QueryID=4&CurRec=1

因此,只要改变专利公开号即可获得对应专利的详情页url(经测试,即使年份对不上也没关系),从而获得对应专利的信息,具体而言代码实现如下:

All done~完整源代码详见个人简介相关文件。

PS:代码运行方式为运行main.py文件。

数据可视化

为避免给知网服务器带来不必要的压力,这里我们只爬了2014年的一部分知网中国专利数据(就跑了一个多小时吧),对这些数据进行可视化分析的结果如下。

我们先来看看申请专利的省份分布呗:

然后再来统计一下专利代理机构?

最后再来看看所有专利摘要做成的词云呗:

还有所有专利标题做成的词云呗:

文章到这里就结束了,感谢你的观看,关注我每天分享Python系列爬虫,下篇文章分享Python爬虫知乎表情包。

为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。

干货主要有:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

All done~完整源代码+干货详见个人简介或者私信获取相关文件。。

以上是关于scrapy爬取数据时,为啥总是302的主要内容,如果未能解决你的问题,请参考以下文章

问题:用scrapy爬取下一页链接时返回空值?

scrapy爬取前端渲染页面

scrapy 全站数据爬取

用scrapy爬取京东的数据

0 scrapy架构介绍1 scrapy解析数据2 settings相关配置,提高爬取效率3 持久化方案 4 全站爬取cnblogs文章

Scrapy爬取照片