日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 下载qq群文件_python获取所有qq好友、全部群所有成员部分信息,并保存列表至电子表格文件...

發布時間:2023/12/8 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 下载qq群文件_python获取所有qq好友、全部群所有成员部分信息,并保存列表至电子表格文件... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

發現上半年壓了一堆實用代碼,想了一下,還是開源吧。這個就先發布了。

警告

請合理使用此代碼,嚴禁用于廣告、信息售賣等反人類用途

使用時請注意不要超負荷訪問騰訊服務器

(歡迎各位改良并Pull Request)

主要使用selenium+chrome,加了Tkinter的簡單GUI,代碼比較簡單,就不細說了,請自行品味:

獲取qq好友列表

這個是從QQ充值獲取的,可得"原始數據",“分組”,“顯示名”,“QQ號”:

import selenium

from selenium import webdriver

from selenium.webdriver.chrome.options import Options

import tkinter as tk

from tkinter.filedialog import asksaveasfilename

from bs4 import BeautifulSoup

import lxml

import openpyxl

from openpyxl import Workbook

def callback():

driver.switch_to_frame('webpay-iframe')

iframe =driver.find_element_by_xpath('//*[@id="midas-webpay-main-1450000186"]/div[2]/div[1]/iframe')

driver.switch_to_frame(iframe)

html=driver.page_source

soup=BeautifulSoup(html,"lxml")

a=soup.find_all(attrs={'class':'icon-friend-s'})

wb = Workbook()

ws = wb.active

ws.append(["原始數據","分組","顯示名","QQ號"])

for i in a:

if i.next_sibling !=' {{el.name}}({{el.qq}})':

#re,qq匹配:

#pattern = re.compile(r'[1-9][0-9]{4,}')

#re,括號匹配:

#pattern = re.compile(r'(?<=\().*?(?=\))')

#m = pattern.search(i.next_sibling)

k=0

for x in i.next_sibling:

if x == '(':

f=k

if x == ')':

l=k

k=k+1

ws.append([i.next_sibling,i.next_sibling.parent.parent.parent.parent.find(attrs={'class':'icon-more-friend'}).next_sibling,i.next_sibling[:f],i.next_sibling[f+1:l]])

print([i.next_sibling,i.next_sibling.parent.parent.parent.parent.find(attrs={'class':'icon-more-friend'}).next_sibling,i.next_sibling[:f],i.next_sibling[f+1:l]])

wb.save(asksaveasfilename(defaultextension ='.xlsx',filetypes = [('Excel 工作簿', '*.xlsx')]))

#瀏覽器位置

driver=webdriver.Chrome()

browser =driver

browser.get("https://pay.qq.com/index.shtml")

root = tk.Tk()

# 設置窗口標題

root.title('從QQ充值獲取好友列表——峽州仙士制作')

# 設置窗口大小

root.geometry('400x200')

# 進入消息循環(檢測到事件,就刷新組件)

button = tk.Button(root, text='已登陸并打開充值界面,且點開列表', command=callback)

button.pack()

root.mainloop()

獲取qq好友列表

這個是從QQ群管理獲取的,用了pandas庫,導出表格超快,可得成員、群昵稱、QQ號、性別、Q齡、入群時間、等級(積分)、最后發言等信息:

import selenium

from selenium import webdriver

from selenium.webdriver.chrome.options import Options

import tkinter as tk

from tkinter.filedialog import askdirectory

from lxml import etree

import lxml

from bs4 import BeautifulSoup

import pandas as pd

import time

path=askdirectory()

#去字符串兩端'\n'、'\t'

def delNT(s):

while s.startswith('\n') or s.startswith('\t'):

s=s[1:]

while s.endswith('\t') or s.endswith('\n'):

s=s[:-1]

return s

def callback():

a=driver.find_elements_by_class_name('icon-def-gicon')

Num= len(a)

time_start=time.time()

for i in range(0,Num):

#點擊進入具體群

a=driver.find_elements_by_class_name('icon-def-gicon')

#time.sleep(0.5)

a[i].click()

time.sleep(1)

html=driver.page_source

soup=BeautifulSoup(html,"lxml")

groupTit=delNT(soup.find(attrs={'id':'groupTit'}).text)

groupMemberNum=delNT(soup.find(attrs={'id':'groupMemberNum'}).text)

while len(soup.find_all(attrs={'class':'td-no'}))

driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")

time.sleep(0.1)

html=driver.page_source

soup=BeautifulSoup(html,"lxml")

res_elements = etree.HTML(html)

table = res_elements.xpath('//*[@id="groupMember"]')

table = etree.tostring(table[0], encoding='utf-8').decode()

df = pd.read_html(table, encoding='utf-8', header=0)[0]

try:

print(str(int((time.time()-time_start)/60))+':'+str(int((time.time()-time_start)%60)),'第'+str(i+1)+'群,'+str(int((i+1) / Num * 100))+'% '+groupTit+' 此表完成')

writer = pd.ExcelWriter(path+'/'+groupTit+'.xlsx')

df.to_excel(writer,'Sheet1')

writer.save()

except:

k=0

for v in groupTit:

if v == '(':

f=k

if v == ')':

l=k

k=k+1

writer = pd.ExcelWriter(path+'/'+groupTit[f+1:l]+'.xlsx')

df.to_excel(writer,'Sheet1')

writer.save()

driver.find_element_by_id('changeGroup').click()

time.sleep(1)

driver=webdriver.Chrome()

browser =driver

browser.get("https://qun.qq.com/member.html")

root = tk.Tk()

# 設置窗口標題

root.title('從QQ群管理獲取群成員列表——峽州仙士制作')

# 設置窗口大小

root.geometry('400x200')

# 進入消息循環(檢測到事件,就刷新組件)

button = tk.Button(root, text='已登陸并打開界面', command=callback)

button.pack()

root.mainloop()

本文作者: 峽州仙士

版權聲明: 本網站(峽州仙士之頁)所有文章除特別聲明外,均采用 BY-NC-SA 許可協議。轉載請注明出處!

總結

以上是生活随笔為你收集整理的python 下载qq群文件_python获取所有qq好友、全部群所有成员部分信息,并保存列表至电子表格文件...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。