该项目用于爬取琳琅社区整站视频(仅供学习)
主要使用:python3.7 + scrapy2.19 + Mysql 8.0 + win10
首先确定需要爬取的内容,定义item:
然后编写爬虫文件:构造初始url的解析函数,得到琳琅网站的视频分类请求,并在本地生成存储的主目录
定义具体模块页面的解析函数,支持分页爬取:
返回item给管道文件:
实现一个去重管道:
再实现将数据存入mysql的存储管道,此处也可选择其他种类数据库进行存储:
其实呢,到这已经能够进行爬取了。但是我们利用scrapy对该网站频繁发起这么多次请求,对方服务器判定我们为爬虫时,会强行关闭与我们之间的连接。
虽然scrapy会将这些没有爬取成功的请求重新放回调度器,等待之后连接成功再发送请求,但是这样会浪费我们一些时间。
为了提高效率,当本地请求失败后,我们可以在下载中间件中使用动态代理重新发起请求:
最后启动爬虫,等待爬虫结束,查看数据库,满满的收获~
关键词: 琳琅社区