Python获取统计自己的qq群成员信息的方法

yipeiwu_com6年前Python基础

首先说明一下需要使用的工具以及技术:python3 + selenium

selenium安装方法:pip install selenium

前提:获取自己的qq群成员信息,自己必须是群主或者管理员,然后通过管理页面进入到成员高级管理网页端,就可以对数据进行爬取了!

 步骤:

①:首先安装环境 selenium库,selenium是一个自动化库,但是使用它必须用到浏览器驱动,不同的浏览器有不同的驱动,所以需自行下载,我这里是chrome浏览器。

②:运行 程序,然后会需要点击一键登录按钮,点击即可,点击完后,整个页面还未加载全所有的成员信息,所以需要将滚动条下拉至底。

③:等待运行结束,结束后 同目录下就会出现一个xslx文档,里面就是所有的群成员信息

话不多说,上代码就完了!

from selenium import webdriver
from time import sleep
#1.创建Chrome浏览器对象,这会在电脑上在打开一个浏览器窗口
browser = webdriver.Chrome(executable_path ="D:\chromedownload\chromedriver")
#2.通过浏览器向服务器发送URL请求
browser.get("https://qun.qq.com/member.html#gid=951192978")
sleep(20)
#browser.sleep(3)
all_number_nickname = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[3]/span[1]')
all_number_name = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[4]/span[1]')
all_number_order = browser.find_elements_by_class_name('td-no')
all_number_qq = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[5]')
all_number_sex = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[6]')
all_number_qqage = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[7]')
all_number_intime = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[8]')
all_number_marks = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[9]')
all_number_lastsaytime = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[10]')
# for i in [all_number_qq,all_number_nickname,all_number_name,all_number_order,all_number_sex,all_number_qqage,all_number_intime,all_number_marks,all_number_lastsaytime]:
#   for j in i:
#     print(j.text)
list=[]
for k in range(len(all_number_qq)):
  list.append([])
  list[k].append(all_number_qq[k].text)
  list[k].append(all_number_nickname[k].text)
  list[k].append(all_number_name[k].text)
  list[k].append(all_number_order[k].text)
  list[k].append(all_number_sex[k].text)
  list[k].append(all_number_qqage[k].text)
  list[k].append(all_number_intime[k].text)
  list[k].append(all_number_marks[k].text)
  list[k].append(all_number_lastsaytime[k].text)
import openpyxl
def write_excel_xlsx(path, sheet_name, value):
  index = len(value)
  workbook = openpyxl.Workbook()
  sheet = workbook.active
  sheet.title = sheet_name
  for i in range(0, index):
    for j in range(0, len(value[i])):
      sheet.cell(row=i+1, column=j+1, value=str(value[i][j]))
  workbook.save(path)
  print("xlsx格式表格写入数据成功!")
book_name_xlsx = 'python小白交流群成员.xlsx'
sheet_name_xlsx = 'python小白交流群成员'
value = list
write_excel_xlsx(book_name_xlsx, sheet_name_xlsx, value)

总结

以上所述是小编给大家介绍的Python获取统计自己的qq群成员信息的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Python项目 基于Scapy实现SYN泛洪攻击的方法

Python项目 基于Scapy实现SYN泛洪攻击的方法

python3版本的Scapy--Scapy3k来实现一个简单的DDos。 首先实现SYN泛洪攻击(SYN Flood,是一直常用的DOS方式之一,通过发送大量伪造的TCP连接请求,使被...

Python分布式进程中你会遇到的问题解析

Python分布式进程中你会遇到的问题解析

小惊大怪 你是不是在用Python3或者在windows系统上编程?最重要的是你对进程和线程不是很清楚?那么恭喜你,在python分布式进程中,会有坑等着你去挖。。。(h...

理解python中生成器用法

生成器(generator)概念 生成器不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopIteration异常结束。 生成器语法 生成器表达...

解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path

解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path

'chromedriver' executable needs to be in Path 声明:本人萌新,刚学python不久记录一下自己的坑,发出来若能帮助到一些人尽早解决问题那便是...

Matplotlib 生成不同大小的subplots实例

Matplotlib 生成不同大小的subplots实例

在Matplotlib实际使用中会有生成不同大小subplots的需求。 import numpy as np import matplotlib.pyplot as plt f...