【scrapy】其他问题2
今天爬取豆瓣电影的是时候,出现了两个问题:
1.数据无法爬取并输出Retrying <GET https://movie.douban.com/robots.txt> 看起来像是被拦截了。
解决:去setting下面找到ROBOTSTXT_OBEY默认是True 改为 False
然后,网上搜索了一下这个参数,这个博客https://blog.csdn.net/you_are_my_dream/article/details/60479699里相关解释。我这里就引用一下:
观察代码可以发现,默认为True,就是要遵守robots.txt 的规则,那么 robots.txt 是个什么东西呢?
通俗来说, robots.txt 是遵循 Robot协议 的一个文件,它保存在网站的服务器中,它的作用是,告诉搜索引擎爬虫,本网站哪些目录下的网页 不希望 你进行爬取收录。在Scrapy启动后,会在第一时间访问网站的 robots.txt 文件,然后决定该网站的爬取范围。
当然,我们并不是在做搜索引擎,而且在某些情况下我们想要获取的内容恰恰是被 robots.txt 所禁止访问的。所以,某些时候,我们就要将此配置项设置为 False ,拒绝遵守 Robot协议 !
好了,能重新爬到数据以后,出现了另一个问题:
2.pymongo.errors.ServerSelectionTimeoutError: 127.0.0.1:2017: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
明显是一个数据库连接的问题,但是继上一篇解决了MongoDB连接问题之后,电脑的cmd或者studio 3T都能连接,很疑惑为什么pymongo不能连。百度中甚至有人提出是python3的问题
我目前使用的是虚拟环境下的python3.6。后来再排查,发现其实是自己setting里,把端口号写错了2017应改为27017。
【scrapy】其他问题2的更多相关文章
- Scrapy框架爬虫初探——中关村在线手机参数数据爬取
关于Scrapy如何安装部署的文章已经相当多了,但是网上实战的例子还不是很多,近来正好在学习该爬虫框架,就简单写了个Spider Demo来实践.作为硬件数码控,我选择了经常光顾的中关村在线的手机页面 ...
- scrapy爬虫docker部署
spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...
- scrapy 知乎用户信息爬虫
zhihu_spider 此项目的功能是爬取知乎用户信息以及人际拓扑关系,爬虫框架使用scrapy,数据存储使用mongo,下载这些数据感觉也没什么用,就当为大家学习scrapy提供一个例子吧.代码地 ...
- ubuntu 下安装scrapy
1.把Scrapy签名的GPG密钥添加到APT的钥匙环中: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 6272 ...
- 网络爬虫:使用Scrapy框架编写一个抓取书籍信息的爬虫服务
上周学习了BeautifulSoup的基础知识并用它完成了一个网络爬虫( 使用Beautiful Soup编写一个爬虫 系列随笔汇总 ), BeautifulSoup是一个非常流行的Python网 ...
- Scrapy:为spider指定pipeline
当一个Scrapy项目中有多个spider去爬取多个网站时,往往需要多个pipeline,这时就需要为每个spider指定其对应的pipeline. [通过程序来运行spider],可以通过修改配置s ...
- scrapy cookies:将cookies保存到文件以及从文件加载cookies
我在使用scrapy模拟登录新浪微博时,想将登录成功后的cookies保存到本地,下次加载它实现直接登录,省去中间一系列的请求和POST等.关于如何从本次请求中获取并在下次请求中附带上cookies的 ...
- Scrapy开发指南
一.Scrapy简介 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. Scrapy基于事件驱动网络框架 Twis ...
- 利用scrapy和MongoDB来开发一个爬虫
今天我们利用scrapy框架来抓取Stack Overflow里面最新的问题(),并且将这些问题保存到MongoDb当中,直接提供给客户进行查询. 安装 在进行今天的任务之前我们需要安装二个框架,分别 ...
- python3 安装scrapy
twisted(网络异步框架) wget https://pypi.python.org/packages/dc/c0/a0114a6d7fa211c0904b0de931e8cafb5210ad82 ...
随机推荐
- 关于ioncube扩展的安装和使用
ioncube 是一个专业级的PHP加密解密工具 这里是按照此扩展的教程,安装以后就可以运行用ioncube加密的文件 引导安装说明:一.下载loader-wizard.php ioncube提供了一 ...
- 框架: require.js
require.js http://www.bootcdn.cn/require.js/ HTML: <div class="container" data-page=&qu ...
- [转] 常用的CSS命名规则
(一)常用的CSS命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度 ...
- Timer TimerTask schedule scheduleAtFixedRate
jdk 自带的 timer 框架是有缺陷的, 其功能简单,而且有时候它的api 不好理解. import java.util.Date; import java.util.Timer; import ...
- Android自定义View学习(四)
硬件加速 参考:HenCoder Android 自定义 View 1-8 硬件加速 硬件加速能够让绘制变快,主要有三个原因: 本来由 CPU 自己来做的事,分摊给了 GPU 一部分,自然可以提高效率 ...
- mongo admin 客户端管理工具安装
Ubuntu14.04 1. 选择安装的目录cd /home/sea2. git clone https://github.com/mrvautin/adminMongo.git && ...
- Map 接口
1.键值对存储一组对象 2.key值不能重复,value可以重复 3.具体的实现类,HashMap,treeMap,HashTable,LinkedHashMap ------------------ ...
- python 如何获取当前文件/文件夹
python 如何获取当前文件/文件夹? 1.获取当前文件的实际路劲: os.path.realpath(__file__) ==> D:\python_test\test_p ...
- jsfl完成通知air
jsfl完成后生成一个文本A.txt, air开始jsfl执行后一直检测A.txt是否存在,存在就是完成了.那么就可以删除这个A.txt
- iOS 坐标转换
例:把A view上的某个点的坐标(a)转换到B view上,两种方法 CGPoint targetPointB = [A convertPoint:a toView:B];(记忆方法:把A上的某个点 ...