scrapy源码解析与分页爬取

/ 技术 / 无站内评论 / 362浏览

前言:

之前学scrapy时也只是入门,只能爬去单个页面或者多个页面不是很复杂URL的情况下,一直想学习动态的获取页面中的url,然后深度爬取。今天找了不少资料,也遇到了很多坑,在此记录一下,大佬勿喷。

Github


学习scrapy爬取全站图片的项目Github地址:https://github.com/SANSANSANl/mzitu_scrapy


scrapy的安装环境


https://sanii.cn/article/152


依赖


在执行代码的时候,一直报错:ImportError: No module named PIL 错误

原因缺少图片下载依赖库:
依次安装以下三个依赖库即可,安装教程:https://sanii.cn/article/152
最新依赖文件:
链接: https://pan.baidu.com/s/15nft1g_rp5tlps_OKaUQHA 密码: c9zz
alt

以上工作正常就可以启动项目了


项目


如PyCharm则运行:run.py文件即可
命令行:在文件目录执行命令 scrapy crawl mzitu
爬取的图片在setting.py中设置IMAGES_STORE = 'F:\mzitu\'目录下


效果


学习过程遇到的几个点疑点

extract()和extract_first()区别是什么?

extract_first()返回字符串 extract()返回数组

response.urljoin(response.url,url)作用

调用parse.urljoin()进行拼接,response.url会自动提取出当前页面url的主域名,get_url是从response中的元素中提取的没有主域名的url


剩下的明天再写吧。。。时间有点晚了。下班没车回去了都。。。


召唤蕾姆
琼ICP备18000156号

鄂公网安备 42011502000211号