Scrapy爬虫系列笔记之七:ItemLoader解决代码难以维护的噩梦_by_书訢
2018-02-07 21:30
351 查看
建议参照目录大纲,即笔记第一篇来了解大致路线后进行博客查阅。每大章的分支都十分清楚。
直接上itemloader
以上就是三种常见形式的使用,分别代表 (属性,规则)(属性,规则)(属性,值)
同时为了解决一些小问题,即数据的预处理
我们在item中进行修改:
这是之前的item
进行修改:这样就实现了预处理以及滞后处理
笔记一到十链接
http://blog.csdn.net/sx_csu2016sw/article/details/79284369
http://blog.csdn.net/sx_csu2016sw/article/details/79284427
http://blog.csdn.net/sx_csu2016sw/article/details/79284449
http://blog.csdn.net/sx_csu2016sw/article/details/79284469
http://blog.csdn.net/sx_csu2016sw/article/details/79284481
http://blog.csdn.net/sx_csu2016sw/article/details/79284491
http://blog.csdn.net/sx_csu2016sw/article/details/79284509
http://blog.csdn.net/sx_csu2016sw/article/details/79284525
http://blog.csdn.net/sx_csu2016sw/article/details/79284547
http://blog.csdn.net/sx_csu2016sw/article/details/79284567
2.4ItemLoader解决代码难以维护的噩梦
之前都是先通过选择器得到值,然后赋值,这样的后果就是代码很难维护而且丑直接上itemloader
item_loader = ItemLoader(item=ArticleItem(),response=response) item_loader.add_css("title",".title") item_loader.add_xpath("field","div[@class='field_of_article']") item_loader.add_value()
以上就是三种常见形式的使用,分别代表 (属性,规则)(属性,规则)(属性,值)
同时为了解决一些小问题,即数据的预处理
我们在item中进行修改:
这是之前的item
class ArticleItem(scrapy.Item): title = scrapy.Field() field = scrapy.Field() time = scrapy.Field() tag = scrapy.Field()
进行修改:这样就实现了预处理以及滞后处理
class ArticleItem(scrapy.Item): title = scrapy.Field( input_processor = TakeFirst() ) field = scrapy.Field( input_processor = MyFunction() output_processor=TakeFirst() ) time = scrapy.Field() tag = scrapy.Field() def MyFunction(): #自己写的预处理逻辑代码,可以被field中调用 XXXXXXXXXX XXXXXXXXXX
笔记一到十链接
http://blog.csdn.net/sx_csu2016sw/article/details/79284369
http://blog.csdn.net/sx_csu2016sw/article/details/79284427
http://blog.csdn.net/sx_csu2016sw/article/details/79284449
http://blog.csdn.net/sx_csu2016sw/article/details/79284469
http://blog.csdn.net/sx_csu2016sw/article/details/79284481
http://blog.csdn.net/sx_csu2016sw/article/details/79284491
http://blog.csdn.net/sx_csu2016sw/article/details/79284509
http://blog.csdn.net/sx_csu2016sw/article/details/79284525
http://blog.csdn.net/sx_csu2016sw/article/details/79284547
http://blog.csdn.net/sx_csu2016sw/article/details/79284567
相关文章推荐
- Scrapy爬虫系列笔记之三:正则表达式,url去重策略以及遍历算法_by_书訢
- Scrapy爬虫系列笔记之四:爬取实战之创建爬虫以及Scapy环境搭建_by_书訢
- Scrapy爬虫系列笔记之五:静态无验证网站的爬取以及xpath和css选择器_by_书訢
- Scrapy爬虫系列笔记之八:Selenium进行动态网站爬取_by_书訢
- scrapy爬虫中编写代码的时候遇到Error13的解决办法
- Scrapy爬虫系列笔记之九:反爬虫之Useragent设置以及开源项目的结合_by_书訢
- Scrapy爬虫系列笔记之十:反爬虫之动态代理,限速,登录以及验证码_by_书訢
- 网络爬虫系列笔记(4)——Scrapy爬虫
- Web前端开发最佳实践(12):JavaScript代码中有大量写死的配置数据?这些数据难以维护,你需要合理组织这些数据
- python爬虫系列:Scrapy安装与使用
- Scrapy 爬虫日志中出现Forbidden by robots.txt
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第4章 scrapy爬取知名技术文章网站(2)
- scrapy爬虫出现Forbidden by robots.txt
- Android笔记 四种方案解决ScrollView嵌套ListView问题之动态设置ListView高度代码整理
- Python爬虫框架Scrapy 学习笔记 7------- scrapy.Item源码剖析
- Scrapy爬虫框架抓取中文结果为Unicode编码,如何转换UTF-8编码的解决办法
- 学习笔记---递归的代码,解决经典的汉诺塔问题
- Scrapy 入门学习笔记(3) -- 使用 Item 类转换传输数据以及ItemLoader 机制解析
- scrapy爬虫出现Forbidden by robots.txt
- python3利用Scrapy实现爬虫--学习笔记