相关背景:
本篇文章是基于爬虫实践课程–分析Ajax请求并抓取今日头条街拍美图
原作博客:https://cuiqingcai.com/
程序实现的功能:
1.抓取,今日头条中,自己设定的搜索内容下,指定数量的图集图片。
2.并且分类保存至指定文件夹中,和保存至MONGODB数据库
分析思路:
1.获得搜索结果下的索引页网站源代码
2.通过分析索引页源代码,从network的XHR中发现,当带着data去请求网站时会得到一个JSON集,其中就有各个详情页入口链接
3.获得详情页的网站源代码
4.分析详情页的源代码,分析发现,在network的doc中,存在一个变量gallery中有该详情页所有图片地址、标题。
5.获取图片地址标题,并保存到MONGODB数据库
6.下载图片——请求后,返回response.content即为图片
7.创建对应分类图片文件夹,并且将图片保存进去(个人自己实现!第一次实现自己想要的小功能,很开心。)
8.主程序调用各个函数。
9.调用多线程
学习过程中出现的问题:
1.视频中的vr gallery变量,在实际网页中变成了gallery。
2.实际运行中,多次遇到requests请求失败,json解析失败,MONGODB解析失败等等错误情况,利用try: except,能顺利解决,使得程序不会因为一点问题就卡壳。也总结了一个套路,遇到错误提示,找到XXXEROOR这部分,然后对他进行try,except处理。
3.视频中图片保存在代码所在目录下,非常杂乱。自己通过百度,查找有关os库的创建文件夹用法,自己实现了爬取图片分类保存,视频以外自己实现的小功能.
相关代码:https://github.com/dik111/toutiao
如果喜欢可以给个小星星,谢谢!