pythonqq交流群_使用 Python 获取 QQ 群投票数据
在浏览器中直接打开会出现"载入中,请稍后..."的字眼。这是因为没有登陆,没有权限
在这里登陆自己的QQ,再访问就可以了
此时的选项是不可点击的,因为网页检测你的浏览环境不是手机界面,并且是不可触摸的
在Chrome下很好解决,只需进入响应式模式即可,如果是火狐,则需要进入火狐后再次点击"加载触摸事件",就可以点击进入详情页
既然在浏览器端已经可以获取到这些数据,那么应该就可以使用python和selenium来获取数据
自然而然的想到如何让Chrome和Firefox来进入这种模式呢?
单单换UA和窗口尺寸是不行的,因为不会加载触摸事件。
Firefox driver我没有找到这样的操作,好在Chrome可以。主要代码如下:
#!/bin/env python
# -*- coding:utf-8 -*-
fromseleniumimportwebdriver
fromselenium.webdriver.chrome.optionsimportOptions
presets=[
{"key":"1080 x 1920","name":"Nexus 5 Portrait","width":1080,"height":1920},
]
mobile_emulation={
"deviceMetrics":{"width":360,"height":640,"pixelRatio":3.0},
"userAgent":"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36"}
chrome_options=Options()
chrome_options.add_experimental_option("mobileEmulation",mobile_emulation)
driver=webdriver.Chrome(chrome_options=chrome_options)
#!/bin/env python
# -*- coding:utf-8 -*-
fromseleniumimportwebdriver
fromselenium.webdriver.chrome.optionsimportOptions
presets=[
{"key":"1080 x 1920","name":"Nexus 5 Portrait","width":1080,"height":1920},
]
mobile_emulation={
"deviceMetrics":{"width":360,"height":640,"pixelRatio":3.0},
"userAgent":"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36"}
chrome_options=Options()
chrome_options.add_experimental_option("mobileEmulation",mobile_emulation)
driver=webdriver.Chrome(chrome_options=chrome_options)
这样获得的driver就可以正常浏览投票页面了
还有个值得注意的是当投票人数比较多的情况下,不会一次加载完成的。每当鼠标滚动到最下方,就会加载一些数据。我最开始本打算用selenium进行点击拖动来加载数据,后来查询到可以用js控制右侧的滚动条来实现
这里比较偷懒,尝试拖动三次,其实应该在首页获取投票人数,第一次加载100人,看看QQ的js,找到之后一次加载多少数据后,得到循环的次数...
# 滑动界面获取全部投票
try:
for_inrange(3):
js="var q=document.body.scrollTop=10000"
driver.execute_(js)
time.sleep(2)
except:
pass
# 滑动界面获取全部投票
try:
for_inrange(3):
js="var q=document.body.scrollTop=10000"
driver.execute_(js)
time.sleep(2)
except:
pass
其它的就没什么好说的了,先登录,然后访问投票页面。
完整的代码在这里:python-qqvote
只获取了投票第一项的数据,如果不知道投票选项,需要在投票首页的地方获取投票选项数量,比较懒...就这样吧
QQ投票页面的数据中只有用户昵称,比较可惜,不过可以在QQ群空间获取QQ号和昵称的对应关系。
获取QQ群成员的代码在这里:python-qun-people
参考:
https://sites.google.com/a/chromium.org/chromedriver/mobile-emulation
http://blog.csdn.net/winterto1990/article/details/48215941
https://sites.google.com/a/chromium.org/chromedriver/mobile-emulation
http://blog.csdn.net/winterto1990/article/details/48215941
pythonqq交流群_使用 Python 获取 QQ 群投票数据相关推荐
- python 获取qq群成员信息_教你用python爬取自己加入的QQ群成员名单,它们竟然是这样的人...
本次实验环境: 操作系统:Mac OS 开发语言:python 3.6 IDE:jupyter notebook(建议使用) 浏览器:Chrome(版本75.0.3770.100) 需要用到的库:se ...
- python 获取qq群成员信息_用Python编写工具获取QQ群成员的昵称和号码,使用,及,小...
使用火狐浏览器进行数据的抓取,火狐浏览器对json比较友好 进入QQ群官网: 登录后,点击成员管理: 先随机选择一个群,抓取一下信息,找一下规律 打开浏览器控制台,重新刷新网页: 这是我们想要的一些信 ...
- python 获取qq群成员信息_python 获取qq群成员列表数据
#!/usr/bin/python # -*- coding: utf-8 -*- import re import time import xlsxwriter from selenium impo ...
- python 获取qq群成员信息_Python-获取QQ群成员信息并存入excel及redis并发送邮件
'''需求: 1.请求qq群的接口,实现传入一个群号 2.把群里每个人的 昵称.群备注.入群时间.qq号,性别,存到redis里面,用hash类型 {"qq_num":XXX,&q ...
- php获取qq群列表,开源POST获取QQ群列表和成员
看到有个帖子,好像还很火,好像没开源, 不发附件,刚出来,怕违规,贴下代码吧. 获取群的代码: .版本 2 .子程序 获取群列表, , 公开 .参数 cs_群, 群, 参考 数组 .局部变量 jb_网 ...
- python 获取qq群成员信息_[Python-ItChat]获取微信所有好友, 群信息(群内人员),批量添加好友,自动发送信息等...
New 09.10 降低使用门槛, 编译生成exe 使用方法 下载exe,双击, 然后扫码-> 同级目录下生成friends.txt和chatrooms.txt[格式为json]对应的是好友列表 ...
- python刷网易云_利用Python获取网易云音乐数据,python
#!/usr/bin/env python # -*- coding: utf-8 -*- import json import re import urllib.request import pan ...
- python发信息给微信群_利用Python转发微信群通知信息
案例:作为班长需要实时转发年级群发布的有关通知.文件到自己班的微信群,这种无脑的重复性工作适用于编写脚本自动帮忙处理. 准备:服务器(可选择阿里云学生服务器).itchat模块.一颗爱折腾的心 代码: ...
- Python uiautomation使用---自动获取QQ群聊天记录
使用uiautomation获取qq群聊天记录,后续可以拓展到消息自动回复.本章只简单介绍自动获取聊天记录,代码如下: import uiautomation as auto from time im ...
最新文章
- ICCV 2021 | 字节跳动利用单幅图片做三维重建!将NeRF、MPI结合,提出MINE新工作...
- 北京建委breaa.cn宕了
- KVM总结-KVM性能优化之网络性能优化
- Oracle触发器的语法详解
- 方法数超了65535 无法安装的解决方案
- 远程工具连接mysql备份_MySQL远程连接 备份还原
- 校友邮箱_freeCodeCamp校友网络:FCC校友的自主指导网络
- 多线程知识梳理(2) - 并发编程的艺术笔记
- js为链接绑定点击事件并且附带return false;来阻止跳转
- Windows as a Service(3)——使用SCCM管理Windows10更新
- Git安装遇到的问题fatal: Could not read from remote repository.的解决办法
- LMC7660即-5V产生电路
- android移动端设计规范,干货|超全面的移动端UI 设计规范整理汇总(下)
- Windows系统封装(四)正式封装和测试。
- linux build文件,从源代码到可执行文件——编译全过程解析
- 转区系统开放艾欧尼亚转入服务器,【英雄联盟】转区系统开放艾欧尼亚转入服务...
- Hexo界面美化_实用插件配置
- Kaggle数据集-贷款逾期预测
- Kotlin拿Android本地视频缩略图
- 陈年不能输,雷军不敢输