博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python+selenium+requests爬取qq空间相册时遇到的问题及解决思路
阅读量:4594 次
发布时间:2019-06-09

本文共 935 字,大约阅读时间需要 3 分钟。

最近研究了下用python爬取qq空间相册的问题,遇到的问题及解决思路如下:

1、qq空间相册的访问需要qq登录并且需是好友,requests模块模拟qq登录略显麻烦,所以采用selenium的driver登录,登录成功之后获取其cookie即可,代码如下

from selenium import webdriver import requests
driver = webdriver.Chrome() url = 'https://user.qzone.qq.com/' driver.get(url) # 在driver中操作完登录之后,在程序中回车继续 input("继续?") cookies = driver.get_cookies() #这里就获取了浏览器中的cookies

2、获取cookies之后,用request模块进行操作,并将cookies赋给它

s = requests.session() #对driver获取的cookies进行处理,提取出我们想要的部分 cookies_ = {} for cookie in cookies:         if cookie['name'] == 'p_skey':      skey = cookie['value']       cookies_[cookie['name']] = cookie['value'] # 将cookies_添加到s.cookies 里 requests.utils.add_dict_to_cookiejar(s.cookies, cookies_)

3、此时通过s.get(url),就可以访问到自己登录后才能看见的网址或图片源了

  类似登录后才能进行操作的问题都可以用上述思路进行解决,只不过需要经过手动确认的“半自动”状态,不过之后交给requests,还是能大大提高我们的工作效率

  本篇博文参考了大神的博客文章https://www.zh30.com/python-selenium-qqzone-album.html,十分感谢!

转载于:https://www.cnblogs.com/shuchengxiang/p/8881410.html

你可能感兴趣的文章
20145205 《Java程序设计》实验报告三:敏捷开发与XP实践
查看>>
利用Spring.NET实现WCF的AOP编程
查看>>
第三方,解决模型无法在获取网络数据之后传值问题
查看>>
对比 Git 与 SVN,这篇讲的很易懂
查看>>
【snmp】Linux开启snmp及查询
查看>>
CSU 1532: JuQueen(线段树)
查看>>
设定MyEclipse编辑代码区域文字的大小及非keyword的字体、字形和颜色
查看>>
LeetCode【6】. ZigZag Conversion --思路图解与java实现
查看>>
git 合并分支
查看>>
NSNotification与NSNotificationCenter
查看>>
qt 中文乱码 处理QByteArray类型里含中文的数据
查看>>
跨库事务一致性问题的解决方式(例)
查看>>
ios build时,Undefined symbols for architecture xxx问题的总结
查看>>
20140704,七月微软安全补丁的通知
查看>>
JavaScript对象
查看>>
南理第八届校赛同步赛-C count_prime//容斥原理
查看>>
html 标签学习(续)
查看>>
iOS的规范问题
查看>>
Segments CodeForces 909B (找规律)
查看>>
【转】Castle开发系列文章
查看>>