利用python获取自己的qq群成员信息!
首先说明一下需要使用的工具以及技术:python3 + selenium ,如有兴趣可以加群交流噢
selenium安装方法:pip install selenium
前提:获取自己的qq群成员信息,自己必须是群主或者管理员,然后通过管理页面进入到成员高级管理网页端,就可以对数据进行爬取了!
步骤:
①:首先安装环境 selenium库,selenium是一个自动化库,但是使用它必须用到浏览器驱动,不同的浏览器有不同的驱动,所以需自行下载,我这里是chrome浏览器。
②:运行 程序,然后会需要点击一键登录按钮,点击即可,点击完后,整个页面还未加载全所有的成员信息,所以需要将滚动条下拉至底。
③:等待运行结束,结束后 同目录下就会出现一个xslx文档,里面就是所有的群成员信息
话不多说,上代码就完了!
1 from selenium import webdriver
2
3 from time import sleep
4 #1.创建Chrome浏览器对象,这会在电脑上在打开一个浏览器窗口
5 browser = webdriver.Chrome(executable_path ="D:\chromedownload\chromedriver")#这里是指驱动路径
6
7 #2.通过浏览器向服务器发送URL请求
8 browser.get("https://qun.qq.com/member.html#gid=951192978")#里面的网址就是加载群成员信息的那个网址
9 sleep(20)
10
11
12
13 #browser.sleep(3)
14 all_number_nickname = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[3]/span[1]')
15 all_number_name = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[4]/span[1]')
16 all_number_order = browser.find_elements_by_class_name('td-no')
17 all_number_qq = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[5]')
18 all_number_sex = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[6]')
19 all_number_qqage = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[7]')
20 all_number_intime = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[8]')
21 all_number_marks = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[9]')
22 all_number_lastsaytime = browser.find_elements_by_xpath('//*[@class="list"]/tr/td[10]')
23 # 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]:
24 # for j in i:
25 # print(j.text)
26 list=[]
27 for k in range(len(all_number_qq)):
28 list.append([])
29 list[k].append(all_number_qq[k].text)
30 list[k].append(all_number_nickname[k].text)
31 list[k].append(all_number_name[k].text)
32 list[k].append(all_number_order[k].text)
33 list[k].append(all_number_sex[k].text)
34 list[k].append(all_number_qqage[k].text)
35 list[k].append(all_number_intime[k].text)
36 list[k].append(all_number_marks[k].text)
37 list[k].append(all_number_lastsaytime[k].text)
38
39
40 import openpyxl
41
42 def write_excel_xlsx(path, sheet_name, value):
43 index = len(value)
44 workbook = openpyxl.Workbook()
45 sheet = workbook.active
46 sheet.title = sheet_name
47 for i in range(0, index):
48 for j in range(0, len(value[i])):
49 sheet.cell(row=i+1, column=j+1, value=str(value[i][j]))
50 workbook.save(path)
51 print("xlsx格式表格写入数据成功!")
52
53
54 book_name_xlsx = 'python小白交流群成员.xlsx'
55
56 sheet_name_xlsx = 'python小白交流群成员'
57
58 value = list
59
60 write_excel_xlsx(book_name_xlsx, sheet_name_xlsx, value)