scrapy-crawl
之前的深入爬取都是手工找链接的
很不符合框架的定义:准备怎么做,而不是怎么去做
我们想要什么样的东西?
说了摘菜(sspider)和炒菜(pipeline)其他的我们都不想参和的
所以是我们忽略了一个东西crawl
这东西就是自动跟进链接的
创建方法
之前说过有这几种类型的
现在来指定模板创建一个
内容
创建完成是这个样的
上面多了个rules,下面方法名称变了
但是,我保证,下面方法不会再涉及链接的提取
因为这个爬虫会自动捕捉全部的链接,然后通过rules筛选需要跟进的链接
比如 豆瓣电影250
链接正则
感觉链接不全是吧,http呢?
不用怕,页面能点的它就能访问
运行看一看
绝对可以啊,至少比原来更加方便快捷了啊
分析一下rules的结构
rules = (Rule(LinkExtractor(allow=r'\?start=*.?'), callback='parse_item', follow=True), )
1. rules是元组,内部是Rule对象
2. Rule制定规则,制定解析方法,链接跟进,链接样式
3. LinkExtractor链接过滤,通过正则进行链接的筛选
其实都不难,至少rules和Rule都不会变化了
关键是LinkExtractor
1. allow:保留链接,正则
2. deny:丢弃链接,正则
3. restrict_xpath:保留链接,xpath
4. allow_domains:允许域名
5. deny_domains:禁止域名
其实划分起来,就是正选反选,加双重过滤。
要的多,就反选,要的少,就正选,不过关键看啥方法适合提取我们刚好需要的链接
域名也是 一样,只是严格一点的话,双重过滤更保险
这样省去解析链接的功夫,怕的更快了。
当然了,偷懒是一方面,我的确抛弃了勤劳这个美德
但是,它底层 筛选肯定比我快啊,而且都加载了,我何必多次一举呢,所以我获得了聪明
所以说,我懒了,也变聪明了
聪明人都是懒人
想懒,证明你有变聪明人的潜质
能懒,那就是聪明人
想懒不能懒,那才叫不勤劳
scrapy-crawl相关推荐
- python爬虫执行scrapy crawl demo出现: import win32api ModuleNotFoundError: No module named 'win32api'错误
执行: >scrapy crawl demo 可能会出现这个错误: import win32api ModuleNotFoundError: No module named 'win32api' ...
- python3.7运行报错_Python 3.7 环境下运行 scrapy crawl 报错 def write(self, data, async=False)?...
Python 3.7 环境下运行 scrapy crawl 报错 def write(self, data, async=False),详细报错信息如下: 2018-08-10 15:10:29 [s ...
- Python3.7 Scrapy crawl 运行出错解决方法
Python3.7 Scrapy crawl 运行出错解决方法 参考文章: (1)Python3.7 Scrapy crawl 运行出错解决方法 (2)https://www.cnblogs.com/ ...
- Scrapy框架快速执行cmd命令:‘scrapy crawl qsbk_spider’
1.scrapy startproject qsbk 创建爬虫项目 2.scrapy genspider qsbk_spider 'qiushibaike.com' 执行文件比较繁琐,可以直接在根目录 ...
- scrapy crawl爬取我爱我家二手房的数据
startur:lhttps://cd.5i5j.com/ershoufang/ 文章末尾有该项目的链接 1.创建项目 scrapy startproject woaiwojia cd woaiwoj ...
- KeyError: ‘Spider not found: itcast‘ 运行scrapy crawl时报错原因总结
1. 由于运行scrapy genspider所在目录不在生成的爬虫项目文件夹下 错误重现 # 1. 创建爬虫项目 C:\scrapy>scrapy startproject myFirstSp ...
- 运行Scrapy crawl出错
使用的是Python3.7,安装完scrapy和一些依赖的库后运行scrapy crawl spidertieba.出现报错,报错信息是: File "c:\users\administra ...
- python3.7 scrapy crawl 报错
python3.7 scrapy crawl name 报错 由于目前python最新版是3.7,之前电脑装了3.6,后面由于pip3 install module时报错,就更新到了3.7,使用scr ...
- 关于在cmd命令行中执行 scrapy crawl demo 出现错误
在cmd中执行 scrapy crawl demo 时报了异常. 错误信息:原因: 1.没有安装winapi32接口 winapi32解释:winapi32 2.生成的demo文件不在spiders文 ...
- Scrapy Crawl 运行出错 AttributeError: 'xxxSpider' object has no attribute '_rules' 的问题解决...
按照官方的文档写的demo,只是多了个init函数,最终执行时提示没有_rules这个属性的错误日志如下: ......File "C:\ProgramData\Anaconda3\lib\ ...
最新文章
- win10控制视频声音大小
- 代理模式——HeadFirst设计模式学习笔记
- java除号_Java的运算符
- WPF:WPF显示PDF文档
- matlab strel
- 机器学习-西瓜书、南瓜书第五章
- Tomcat安装与卸载
- 常用关系型数据库管理系统
- 星加坡php开发_PHP 中文简繁互转代码 完美支持大陆、香港、台湾及新加坡
- # 慢东周记(第 1 期):【本周话题】真正的投资者应该是寻找到长期、稳定、持续的正期望收益机会且重仓
- 分享几个关于geoJson的网站(乡镇级地图绘制)
- java编程题身高排队_编程初学者入门4_从键盘输入5个人的身高(米),求他们的平均身...
- MySQL快速生成大量测试数据(100万、1000万、1亿)
- 在HTML5中true是什么意思,自定义标签中requiredtrue/requiredrtexprvaluetrue/rtexprvalue分别代表什么含义?...
- Comparison of VoIP software(VoIP软件比较)
- 磁盘空间不足的解决办法
- 【蓝桥软件学院】论MyBatis日志
- 【运动控制】Apollo6.0的lon_controller解析
- “微生物与生命健康”专刊征稿通知
- 《大问题·简明哲学概导论》书评
热门文章
- 老王决策规划算法凸优化与非凸优化
- 为什么收到三个重复的ACK意味着发生拥塞?
- 用Nircmd轻松复制文件(文件夹)的完整路径
- 音乐api搭建php音乐下载,百度音乐api接口
- 旧款iPhone在德国下架对苹果是又一个重大打击
- Mybatis参数(Parameters)传递
- 文献笔记——ECG分类器(Inter- and intra- patient ECG heartbeat classification)
- ArcGIS Pro中的回归分析浅析(上)回归的概念探索性回归工具使用
- 2021-05-17 C#.NET面试题 PDB是什么东西? 在调试中它应该放在哪里?
- DDD六边形架构入门