专栏名称: 编程派
Python程序员都在看的公众号,跟着编程派一起学习Python,看最新国外教程和资源!
目录
相关文章推荐
Python爱好者社区  ·  蚂蚁集团发布全员信:薪资大调整。 ·  2 天前  
Python爱好者社区  ·  多模态,杀疯了! ·  3 天前  
Python爱好者社区  ·  yyds!《LLM书》PDF ·  2 天前  
Python爱好者社区  ·  卧槽,这就是最牛逼的python教程 ·  4 天前  
Python开发者  ·  自己编写作弊软件骗过大厂!00后拿4个顶级o ... ·  4 天前  
51好读  ›  专栏  ›  编程派

使用 Python 获取 QQ 群投票数据

编程派  · 公众号  · Python  · 2017-12-22 11:30

正文

作者:solideogloria

来源:https://blog.yasking.org/a/python-and-selenium-qqvote.html

抽时间研究下QQ群投票信息的获取,比较适合(高频次/投票人数较多)的投票统计。不知道QQ群有没有API可以获取投票信息,反正找了一圈没发现。那就想想看怎么办

QQ客户端肯定是没办法了...自然而然的想到网页版也有群空间之类的地方,可以下载群文件,查看群相册什么的。去碰碰运气,然而只可以发起投票,不能获取投票的人名称什么的。比较难办,最后翻翻用手机看看,天无绝人之路,在投票页面可以复制投票地址。

类似这样的URL: http : //client.qun.qq.com/qqweb/m/qun/vote/detail.html?_lv=38105&_wv=1031&_bid=2035&src=3&groupuin=151496851&fid=93a8070900000000d38621575e800***

在浏览器中直接打开会出现"载入中,请稍后..."的字眼。这是因为没有登陆,没有权限

在这里登陆自己的QQ,再访问就可以了

此时的选项是不可点击的,因为网页检测你的浏览环境不是手机界面,并且是不可触摸的

在Chrome下很好解决,只需进入响应式模式即可,如果是火狐,则需要进入火狐后再次点击"加载触摸事件",就可以点击进入详情页

既然在浏览器端已经可以获取到这些数据,那么应该就可以使用python和selenium来获取数据

自然而然的想到如何让Chrome和Firefox来进入这种模式呢?

单单换UA和窗口尺寸是不行的,因为不会加载触摸事件。

Firefox driver我没有找到这样的操作,好在Chrome可以。主要代码如下:

  1. #!/bin/env python

  2. # -*- coding:utf-8 -*-

  3. from selenium import webdriver

  4. from selenium.webdriver.chrome.options import Options

  5. presets = [

  6.    {"key":"1080 x 1920","name":"Nexus 5 Portrait","width":1080,"height":1920},

  7. ]

  8. mobile_emulation = {

  9.    "deviceMetrics": { "width": 360,







请到「今天看啥」查看全文


推荐文章
Python爱好者社区  ·  蚂蚁集团发布全员信:薪资大调整。
2 天前
Python爱好者社区  ·  多模态,杀疯了!
3 天前
Python爱好者社区  ·  yyds!《LLM书》PDF
2 天前
Python爱好者社区  ·  卧槽,这就是最牛逼的python教程
4 天前
读书小分队  ·  很多朋友都是从此绝交的
8 年前
经济学人集团  ·  特朗普的推文搅动股市|经济学人读图
8 年前
新京报书评周刊  ·  谁杀死了那个叫罗兰·巴特的哲学家?
7 年前