python爬虫:批量下载qq空间里的照片(二)

编程知识 更新时间:2023-05-03 03:30:42

        遵循着之前的思路,现在来具体的,完善一下这个小项目。(注意,前一篇由于当时水平有限,是有一些错误的,请大家参考这篇博客,当然,由于博主现在的水平依然有限,可能也会有问题,如果大家遇到问题,可以留言反馈给博主,大家一起研究学习)

        整个项目的难点可能就在登陆到qq空间中(在已知账号,密码的情况下),我没有太多时间深入的研究通过提交账号,密码和验证码来登陆的问题,但是也有了一个初步的解决方案,就是通过cookie来模拟登陆,这种情况,需要自己先登陆一下空间,拿到cookie,而且cookie是会过期的,因此要及时更新cookie,所以这个方案谈不上舒服,但是如果是学习的目的,或者只是作为个人所需,那么应该也是足够的了。

        整个项目分为模拟登陆,获取图片地址,下载图片三个过程。

1.模拟登陆

        首先,通过账号,密码登陆到QQ空间,然后点击相册,请求相册列表,这时,我们把cookie手动保存一下,这个在程序中是要使用的;

       然后,注意这个链接‘https://h5.qzone.qq/proxy/domain/photo.qzone.qq/fcgi-bin/fcg_list_album_v3’,这个就是请求相册列表的链接,注意,上面这个链接不是完整的链接,我只截取了一部分。

       通过利用上一步的链接,和第一步的cookie,我们就可以登录到空间中,并且获取到相册列表的页面了。

2.获取图片地址

        解析上面的相册列表的页面,我们就可以得到每个相册的id,和这个相册包含的图片的个数total,我们根据这两个主要的参数,来请求每个相册中的图片。

    依然是要自己手动在浏览器中点击一个相册,然后查看浏览器发送了什么请求,这时要注意一个链接‘https://h5.qzone.qq/proxy/domain/photo.qzone.qq/fcgi-bin/cgi_list_photo’,同样的,这也只是实际的链接的一部分,观察这个链接后面的参数,其中,topicId即为要请求的相册id,pageStart为请求的起始图片位置,还有一个就是pageNum这个我们设置为500就好了,500是单次请求返回的图片的最大个数,因此大于500的相册就要多次请求,只要传递好这三个参数,都没有问题。另外,需要注意的是,在请求图片地址时,依然要用到cookie。

        接下来的就是,解析返回的图片列表页面,得到图片的地址,根据这个地址来下载图片。

 

3. 下载图片

        有了图片的地址,图片的下载应该不是问题,在这里就不多说了。

        代码部分可以移步https://github/youthhou1992/qzone_crawler

更多推荐

python爬虫:批量下载qq空间里的照片(二)

本文发布于:2023-04-30 09:43:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/4669b32550b0ca9214e3c5ded59a1a4c.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:爬虫   批量   照片   空间   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 113852文章数
  • 28872阅读数
  • 0评论数