需要额外安装的第三方库
requests
pip install requests
pymongo
pip install pymongo
模块功能
TaoLady.py:负责发送POST请求和抓取个人信息和图片地址并保存到MongoDB中。
Download_Pic.py:负责从MongoDB中抽取出淘女郎照片的网址,并下载。
想要全部完整源码,以及python爬虫资料的,文末免费领取哦
原理
淘女郎的网站使用了AJAX技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。这意味着通过直接抓取网页源代码然后分析出信息的方式是行不通的,因为网站是动态加载的,直接抓取的方式只能抓到网页原始的源代码,并不能抓到动态加载出的淘女郎的信息。
对于这一类网站,一般有两种抓取办法:
1.利用selenium库来模拟浏览器的用户行为,让服务器以为是真正的用户在浏览网页,从而获得完整的网页源代码
2.利用Chrome等浏览器自带的分析工具,对网页的Network进行监控,分析出数据交换的API,从而利用API抓取到数据交换的JSON数据,从而进行抓取。
一般来讲,第一种方法速度较慢,并且运行时占用较多的系统资源,所以,条件允许的情况下,尽量使用第二种方法。
在Chrome浏览器中打开淘女郎:
https://mm.taobao.com/search_tstar_model.htm? 按F12切换到开发者模式,在Network一栏选择XHR可以看到目前没有网络活动,但是,在网页中按下一页的时候,会出现一个POST活动,当再次按下下一页的时候,会再次出现一次该活动,所以,可以断定,数据交换使用的就是这个API。
然后我们再来对比这两次请求,在Headers框的FromData栏中,可以看到两次请求的差别在currentPage的不同,一个是2,一个是3,这说明,要想得到第几页的数据,这个currentPage的值就是多少。所以我们就根据这个,来编写请求,从而得到全部淘女郎信息的JSON文件。
发送请求,得到JSON数据,将其加工并转化为Python的字典类型返回
连接到MongoDB, 将信息保存
最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!(文末领取)
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。(文末领读者福利)
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
检查学习结果。
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。 (文末领取哦)
保证100%免费
】