python3爬取淘女郎图片

来源:互联网 发布:重庆网络教育报名 编辑:程序博客网 时间:2024/04/29 22:06

本程序在win10环境下的sublime3中运行,其中用到了的python库有requests,json,re,so.

这是首页,网站为:https://mm.taobao.com/json/request_top_list.htm?

尝试在网站后面加&page= 1,发现依然可以访问!继续尝试修改page = 2,发现访问的是一个新的页面。于是通过修改page,来遍历每个女郎的user_id!

通过谷歌查询网页源代码,发现在源代码中有user_id这个数据,所以可以直接爬取!



进入到每个女郎的网页,点击相册,通过谷歌浏览器工具,在Network中的XHR可以看到有一个文件Open_album_list。点开文件,在headers中可以看到有个Requests URL。

进入这个链接,发现这个链接里是该女郎的所有相册。



打开这个网站的源代码,发现源代码里有album_id这个数据!


进入该女郎的一个相册,通过谷歌浏览器的工具,在Network里面的JS中发现有个get_album_photo文件,通过滑动相册的滑动条,发现JS文件有更新,查看新的文件,在Response里,发现page发生了改变,于是尝试在网址后面添加&page = 1,发现和之前的网页相同,于是可以通过在网址后面添加page和修改page的值来获取图片。





尝试打开Requsts URL这个链接,发现是个Json文件。

这个网址为:https://mm.taobao.com/album/json/get_album_photo_list.htm?user_id=687471686&album_id=10000702574&top_pic_id=0&cover=%2F%2Fimg.alicdn.com%2Fimgextra%2Fi2%2F687471686%2FTB1TlwDLFXXXXbxaXXXXXXXXXXX_!!2-tstar.png&page=1&_ksTS=1508051949055_154&callback=jsonp155


在尝试打开不同女郎的不同相册后,发现这个网址的ksTS=1508051949055_154&callback=jsonp155没有明显的规律,于是尝试删除这两个数据,再次访问删除后的网址。



这是尝试删除ksTS=1508051949055_154&callback=jsonp155后打开的网站。通过观察不同的相册里这个网址,发现有两个数据对我们有作用,第一是isError,第二个是:picUrl。当isError的值为0时,才有picUrl这个值。picUrl对应的是相册里的图片。



通过比较不同女郎的不同相册对应的网址,发现这个网址的组成为:

https://mm.taobao.com/album/json/get_album_photo_list.htm?“+user_id+ "&"+ album_id + "&top_pic_id=0&cover=%2F%2Fimg.alicdn.com%2Fimgextra&"+page

所以我们的目标就是找到所有的user_id和每个user_id对应的所有album_id。前面已经介绍了怎么获取user_id和album_id。

最后的效果:



上代码:


对代码有需要的朋友可以直接在我的博客里下载。第一次写博客,谢谢大家的支持。