最近研究了下用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,十分感谢!

python+selenium+requests爬取qq空间相册时遇到的问题及解决思路的更多相关文章

  1. Python_小林的爬取QQ空间相册图片链接程序

    前言 昨天看见某人的空间有上传了XXXX个头像,然后我就想着下载回来[所以本质上这是一个头像下载程序],但是一个个另存为太浪费时间了,上网搜索有没有现成的工具,居然要注册码,还卖45一套.你们的良心也 ...

  2. python+selenium+requests爬取我的博客粉丝的名称

    爬取目标 1.本次代码是在python2上运行通过的,python3的最需改2行代码,用到其它python模块 selenium 2.53.6 +firefox 44 BeautifulSoup re ...

  3. selenium爬取qq空间,requests爬取雪球网数据

    一.爬取qq空间好友动态数据 # 爬取qq空间好友状态信息(说说,好友名称),并屏蔽广告 from selenium import webdriver from time import sleep f ...

  4. 用python爬取QQ空间

    好久没写博文了,最近捣鼓了一下python,好像有点上瘾了,感觉python比js厉害好多,但是接触不久,只看了<[大家网]Python基础教程(第2版)[www.TopSage.com]> ...

  5. Python爬取qq空间说说

    #coding:utf-8 #!/usr/bin/python3 from selenium import webdriver import time import re import importl ...

  6. python+selenium+PhantomJS爬取网页动态加载内容

    一般我们使用python的第三方库requests及框架scrapy来爬取网上的资源,但是设计javascript渲染的页面却不能抓取,此时,我们使用web自动化测试化工具Selenium+无界面浏览 ...

  7. python+selenium+bs4爬取百度文库内文字 && selenium 元素可以定位到,但是无法点击问题 && pycharm多行缩进、左移

    先说一下可能用到的一些python知识 一.python中使用的是unicode编码, 而日常文本使用各类编码如:gbk utf-8 等等所以使用python进行文字读写操作时候经常会出现各种错误, ...

  8. python+selenium+xpath 爬取天眼查工商基本信息

    # -*- coding:utf-8 -*-# author: kevin# CreateTime: 2018/8/16# software-version: python 3.7 import ti ...

  9. 看我怎么扒掉CSDN首页的底裤(python selenium+phantomjs爬取CSDN首页内容)

    这里只是学习一下动态加载页面内容的抓取,并不适用于所有的页面. 使用到的工具就是python selenium和phantomjs,另外调试的时候还用了firefox的geckodriver.exe. ...

随机推荐

  1. Linux系统中10个常用的ps命令总结

    Linux作为Unix的衍生操作系统,Linux内建有查看当前进程的工具ps.这个工具能在命令行中使用PS 命令是什么 查看它的man手册可以看到,ps命令能够给出当前系统中进程的快照.它能捕获系统在 ...

  2. VS2010关于调用ffmpeg借口出错

    win7 下开发视频服务器,用到ffmpeg,debug版本运行正常,切换到release时,出现"0x00905a4d 处未处理的异常: 0xC0000005: 读取位置 0x00905a ...

  3. phpcms 内容模块PC标签调用

    PHPcms 调用命令的基本格式: 开始:{pc:content action="模块操作名" catid="调用栏目ID" num="数据调用数量& ...

  4. Sublime Text 相关教程(转)

    曾经有人说过,世界上有两种编辑器,好用和不好用的:而在好用的编辑器中,又分两种,免费的和死贵死贵的.譬如说VIM 和 TextMate,就是免费和死贵的典型.很不幸,今天的主角 Sublime Tex ...

  5. js日期和时间戳互换

    <script> function js_strto_time(str_time){ var new_str = str_time.replace(/:/g,'-'); new_str = ...

  6. Datawindow.net中实现让当前行选中,并且当前行以其他颜色显示

    如何在Datawindow.net中实现让当前行选中,并且当前行以其他颜色显示 使用Datawindow.net要选中一行是很容易的意见事情,有很多种办法可以实现,最简单的莫过于使用selectrow ...

  7. WordCount作业提交到FileInputFormat类中split切分算法和host选择算法过程源码分析

    参考 FileInputFormat类中split切分算法和host选择算法介绍  以及 Hadoop2.6.0的FileInputFormat的任务切分原理分析(即如何控制FileInputForm ...

  8. [工作笔记]JDK版本不同导致的SSL异常

    前言 遇到这个问题得说一下笔者的开发环境,笔者所在公司,平时开发用的web容器是jboss,使用的JDK是oracle的JDK,但是测试和生产环境用的是WAS,JDK用的是IBM的JDK,由于项目的不 ...

  9. BCG使用

    VC界面库分两大类:一,Direct UI,优点:界面绚丽.二,MFC扩展库.优点:1,方便用户.2,减少开发成本.3,界面相对好看.BCG属于后者,非常是否适合优化办公软件界面. 作者在2008年以 ...

  10. Apache配置https启动不了的解决办法

    配置咱就不多说了,网站一搜一大堆,在这就谈谈Apache引入“http-ssl.conf”文件后无法启动问题吧 去掉#Include conf/extra/httpd-ssl.conf前面的注释Apa ...