Python结合Selenium自动化获取QQ群成员信息

Miles
Miles
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍如何使用Python和Selenium库自动化获取QQ群成员信息。通过模拟浏览器操作,自动登录并滚动加载页面,提取群成员昵称、QQ号等字段,最终导出为Excel文件。适用于拥有群主或管理员权限的场景,代码示例包含环境配置及核心抓取逻辑。

Python获取QQ群成员信息环境准备

实现该功能主要依赖Python3环境以及Selenium自动化测试库。

关于Selenium的具体安装步骤,请参考pip install selenium。

执行此操作的前提是你必须拥有目标QQ群的群主或管理员权限。你需要通过管理后台进入成员高级管理的网页端,从而具备数据抓取的条件。

自动化抓取操作步骤

具体操作流程如下:

第一步,安装Selenium库。作为一个自动化控制库,它需要配合相应的浏览器驱动程序使用。由于不同浏览器对应的驱动不同,你需要自行下载匹配版本的驱动,本例中使用的浏览器为Chrome。

第二步,运行程序。程序启动后会弹出登录界面,需手动点击“一键登录”按钮完成身份验证。注意,点击登录后页面并未立即加载全部成员数据,因此需要手动将滚动条拖拽至页面底部,以触发所有成员信息的加载。

第三步,等待程序执行完毕。运行结束后,在当前脚本所在的目录下会生成一个xlsx格式的Excel文档,其中包含了抓取到的所有群成员详细信息。

核心代码实现

接下来直接展示相关代码实现。


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 相关产品和应用

全部下载

专题列表