Python爬虫框架
一、U know!!:
http://www.xiaohuar.com/list-1-1.html
http://static.moko.cc/yiqian/
二、Scrapy入门教程:
https://www.runoob.com/w3cnote/scrapy-detail.html
https://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html
三、网络爬虫之scrapy框架详解:
https://www.cnblogs.com/fu-yong/p/9239831.html
四、scrapy编写步骤(详情见二、Scrapy入门教程):
(1) mkdir一个爬虫文件夹 例:mkdir /home/zy/pachong/ pa_test_10_28;
(2) 在/home/zy/pachong/ pa_test_10_28路径下创建一个scrapy项目,例:scrapy startproject junshi (创建了一个名为junshi的爬虫项目);
(3) 在item.py文件中构建item模型(定义需要爬取的各种属性);
(4) 输入scrapy genspider 爬虫名 “域名” (创建一个爬虫脚本的样例,并丰富parse函数,xpath抓取等内容);
(5) 将setting.py文件中的ITEM_PIPELINES属性的注释去掉,并增加FEED_EXPORT_ENCODING = ‘utf-8’ 以处理中文输出;
(6) 在pipelines.py中写入一些处理逻辑(如数据持久化等);
(7) 输入scray crawl 爬虫名 运行爬虫项目;
(8) 在第(4)中 可以运行scrapy的调试工具(命令行输入scrapy shell) 进行response.xpath(“Xpath路径”).extract()调试 查看返回值,extract()函数返回的生成器对象变为数据列表;
五、爬取时遇到的问题及笔记:
(1) 获取上次请求页面时获得的cookie,再次请求时携带该cookie,只需要在scrapy.Request对象的参数中加入 meta={‘cookiejar’: True} 即可(目前未作尝试,不确定)
(2) 用选择器抓取内容的时候response.xpath(‘xxxxx’).extract()[0]其中的extract()[0]可以写成extract_first() 即response.xpath(‘xxxxx’). extract_first() 或者写成response.xpath(‘xxxxx’).get()
详情见:https://segmentfault.com/a/1190000018559454?utm_source=tag-newest
六、Scrapy命令行基本用法
https://www.cnblogs.com/weixuqin/p/8431314.html
七、Scrapy 中 Request 对象和 Response 对象的各参数及属性介绍
https://www.cnblogs.com/xinglejun/p/10412246.html
八、Scrapy Scrapy爬虫入门教程
https://www.jianshu.com/p/43029ea38251
九、Scrapy爬虫入门教程十三 Settings(设置)
https://www.jianshu.com/p/df9c0d1e9087
十、Xpath的用法
https://www.cnblogs.com/laonicc/p/7446553.html
十一、Scrapy抓取中文但输出却为unicode的解决方案
在settings文件中设置(添加):FEED_EXPORT_ENCODING = ‘utf-8’