获取QQ空间说说

因使用的使用了from selenium import webdriver ,半自动化谷歌驱动,至于配置另行百度。以及还需要requests模块。

操作步骤:
运行代码,自动打开谷歌浏览器,随后,自动填入QQ与密码,
然后需要手动点击登入和滑块滑动,然后就不用管它了,滑块自动验证部分,本人能力有限,没尝试过。

代码中只需要修改6,7,8行配置即可运行。

import time
from selenium import webdriver
import re
import requestsQQ='xxxxxxx' #这里填写QQ号
pwd='xxxxxxxxx'  #这里填写QQ密码
friendlist = [xxxxxxx,xxxxxx] #这是要访问空间的QQ号,是数组的形式def get_g_tk(cookie):hashes = 5381for letter in cookie['p_skey']:hashes += (hashes << 5) + ord(letter)return hashes & 0x7fffffffdef login():browser = webdriver.Chrome()browser.get('https://i.qq.com/')browser.maximize_window()time.sleep(6)browser.switch_to.frame("login_frame")browser.find_element_by_id('switcher_plogin').click()browser.find_element_by_id('u').clear()browser.find_element_by_id("u").send_keys(QQ)browser.find_element_by_id('p').clear()browser.find_element_by_id("p").send_keys(pwd)time.sleep(15)print("登陆成功")return browserdef back_session(browser):my_session = requests.session()cooikes = browser.get_cookies()cookie = {}for elem in cooikes:cookie[elem['name']] = elem['value']headers = {'host': 'h5.qzone.qq.com','accept-encoding': 'gzip, deflate, br','accept-language': 'zh-CN,zh;q=0.9','accept': '*/*','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36'}c = requests.utils.cookiejar_from_dict(cookie, cookiejar=None, overwrite=True)my_session.headers = headersmy_session.cookies.update(c)return my_sessiondef get_message(my_session, qq, g_tk, qzonetoken):url = 'https://h5.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_msglist_v6?uin=' + str(qq) + '&inCharset=utf-8&outCharset=utf-8&hostUin=' + str(qq) + '&notice=0&sort=0&pos=0&num=20&cgi_host=http://taotao.qq.com/cgi-bin/emotion_cgi_msglist_v6&code_version=1&format=jsonp&need_private_comment=1&g_tk=' + str(g_tk) + '&qzonetoken=' + str(qzonetoken)res = my_session.get(url)# 说说总数num = re.compile('"total":(.*?),').findall(res.text)[0]content_list = re.compile('"certified".*?"conlist":(.*?),', re.S).findall(res.text)if int(num) % 20 == 0:page = int(num) / 20else:page = int(num) / 20 + 1for i in range(0, int(page)):pos = i * 20url = 'https://h5.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_msglist_v6?uin=' + str(qq) + '&inCharset=utf-8&outCharset=utf-8&hostUin=' + str(qq) + '&notice=0&sort=0&pos=' + str(pos) + '&num=20&cgi_host=http://taotao.qq.com/cgi-bin/emotion_cgi_msglist_v6&code_version=1&format=jsonp&need_private_comment=1&g_tk=' + str(g_tk) + '&qzonetoken=' + qzonetokenres = my_session.get(url)content_list = re.compile('"certified".*?"conlist":(.*?),', re.S).findall(res.text)time_list = re.compile('"certified".*?"createTime":"(.*?)"', re.S).findall(res.text)for c, t in zip(content_list, time_list):c = c.replace('[{"con":', '')with open("qq_news.txt", 'a', encoding='utf-8') as f:f.write(t)f.writelines(c)f.write('\n')def main():driver = login()print(driver)html = driver.page_sourcexpat = r'window\.g_qzonetoken = \(function\(\)\{ try\{return (.*?);\} catch\(e\)'qzonetoken = re.compile(xpat).findall(html)[0]cookies = driver.get_cookies()cookie = {}for elem in cookies:cookie[elem['name']] = elem['value']g_tk = str(get_g_tk(cookie))my_session = back_session(driver)driver.close()for i in range(0, len(friendlist)):get_message(my_session, friendlist[i], g_tk, qzonetoken)time.sleep(8)if __name__ == '__main__':main()

最后可以关注一下我个人微信公众号,不定期更新一些好用的资源以及生活上的点点滴滴~~

python半自动化获取QQ空间说说相关推荐

  1. 在线python爬取好友qq空间_Python3.6获取QQ空间全部好友列表

    首先要处理的是gtk算法:从上次分析以来代码并没有变 登录QQ空间后搜索gtk字符串,在三个js中出现了 /* |xGv00|e5808eb94a2bdffe3aae60cd22c5efe2 */ d ...

  2. python爬取加密qq空间_使用python+selenium爬取qq空间好友动态

    使用python+selenium爬取qq空间好友动态 分析过程如下: 要想用selenium登陆qq空间,必须点击账号密码登陆按钮然后再填写账号密码登陆. 1.PNG 点击账号密码按钮后跳转到如下页 ...

  3. python访问陌生人qq空间_使用Python+Selenium模拟登录QQ空间

    使用Python+Selenium模拟登录QQ空间 爬QQ空间之类的页面时大多需要进行登录,研究QQ登录规则的话,得分析大量Javascript的加密解密,这绝对能掉好几斤头发.而现在有了seleni ...

  4. Python3.6获取QQ空间全部好友列表

    首先要处理的是gtk算法:从上次分析以来代码并没有变 登录QQ空间后搜索gtk字符串,在三个js中出现了 operation.50303.js gdtlib.20160810.js index.js ...

  5. Python2.7获取QQ空间好友头像

    获取QQ空间好友头像并不复杂,通过一个网址就可以获取 获取方法: 小图 http://qlogo.store.qq.com/qzone/[QQ号]/[QQ号]/50 中图 http://qlogo.s ...

  6. python自动下载qq文件夹_GitHub - 1061700625/QQZone_AutoDownload_Album: Python+selenium 自动下载QQ空间相册...

    QQZone_AutoDownload_Album Python+selenium 自动下载QQ空间相册 . selenium_firefox.zip 需要解压后放在同路径下 . 貌似腾讯的登陆加密做 ...

  7. python分析qq好友_Python2.7获取QQ空间部分好友

    首先需要安装curl工具,然后复制curl 参考http://blog..net/gsls200808/article/details/46933307 浏览器打开http://user.qzone. ...

  8. python 用selenium获取好友空间说说及时间写入txt

    我们的目标是抓取qq空间里好友的说说及发表说说的时间,在开始之前先做好预备工作. 首先是先装个自动化测试工具selenium,它支持各种浏览器,在python里直接pip就可以安装了(ps:selen ...

  9. python爬取加密qq空间_python3爬虫爬取QQ好友空间说说

    开发环境Win10 python 3.6.3 pycharm 2018.1 第三方库csv requests pymysql selenium 无头浏览器 PhantomJS 主要思路通过QQ邮箱导出 ...

  10. python爬虫之获取QQ关系网(超级详细)

    一.背景: 继上次QQ空间登陆后获取QQ好友.群友.群信息之后,需求又扩大了,变成了获取QQ关系网,什么意思呢:就是给你一个QQ,然后从这个QQ出发,通过该QQ的说说.点赞.评论获取该QQ有过交集的人 ...

最新文章

  1. str.split() 与 str.split(‘ ‘)区别
  2. WSGI 是什么?和nginx有什么关系?
  3. 十八、二叉树遍历序列还原
  4. Zabbix每天流量统计脚本
  5. 《Android游戏开发详解》一3.1 构造方法
  6. 记录一段让我吐血的代码
  7. 宏转录组方法_高级转录组分析和R语言数据可视化第十二期 (线上线下同时开课)...
  8. 5g时代计算机网络过时,5g云电脑 取代主机(5g时代云电脑会普及吗)
  9. linux设备模型(8)_platform设备,Linux设备模型之platform总线
  10. 将 30 万行代码从 Flow 迁移到 TypeScript 是一种怎样的体验?
  11. Linux shell逐行读取文件的方法
  12. 小米手机+MIUI系统开发版线刷到稳定版(小米8+MIUI10)
  13. Python3.7.0安装报:0x80072efd
  14. 世界50所知名大学提供开放课程
  15. 如何给网站添加CNZZ站长统计功能代码的常用办法
  16. Chrome 不支持 WebGL 怎么办
  17. Zookeeper Leader选举算法及选举过程
  18. 微信邮箱登录入口,企业微信企业邮箱,企业邮箱登陆入口
  19. appinventor计算机教程,App Inventor编程开发集锦2-计算器-第2课-实现常规操作
  20. 英语常见缩写,职业,公司

热门文章

  1. MIL图像处理那些事:MIL的安装和MIL工具箱
  2. Excel:仅选择可见的单元格
  3. Selenium认识与实战(学习版)
  4. 如何用html制作一个简单的网页
  5. UL电子线标准规格说明书
  6. atmega128 单片机 玩具电子琴 蜂鸣器 电子琴
  7. 计算机网络体系结构综述(上)
  8. 今日做题家 - 面试算法题教程系列总纲
  9. 基于java企业人事管理系统mysql
  10. Git操作教程-(全)