主页 > imtoken钱包国际版下载 > python获取微信群网络中的个人、微信群二维码和账号

python获取微信群网络中的个人、微信群二维码和账号

imtoken钱包国际版下载 2023-05-25 07:41:05

更多教程请前往:罗良博客 如需帮助请前往:Python自学技术交流 一、简介

最近在写爬虫,前几天跟小弟聊天。 (我哥哥在一家医疗公司工作)我哥哥也在研究爬行动物。 我问他爬的是什么网站。 然后我哥直接把链接发给我了。 我查了一下:这是一个小网站。 爬起来看起来不错。 然后自己写代码。

网站是: 。 这个网站也真的很棒,有各个行业的个人和团体的信息。

如果需要,您也可以尝试一下。

这段代码从周五晚上开始就断断续续写的,直到今天早上才真正调试出来。

晚上睡觉的时候想想问题,改成这样处理。

二、爬行思路

思路还是老套路。

我会在这里直接发布我使用的模块。 1.requests, 2.bs4, 3.xlwt, 4.md5, 5.os

即定向爬虫常用的一些模块。

由于数据量大。 这里用excel保存相关信息比特币微信群二维码,二维码单独存放在title目录下。

我以前没见过 xlwt 模块。 我昨晚一直在学习这个模块。 官方的示例代码很容易理解。

QQ群里有朋友介绍用CVS保存。 据他说,这比 excel 更简单。 (稍后我也会看这个模块)

代码中除了main函数外,还有6个函数。 就介绍到这里吧。

第一个功能:获取页面源码

第二个功能:通过一个函数获取源码比特币微信群二维码,进而获取每个页面列表中数据的详细链接

第三个功能:获取每个详细链接中的数据

微信比特币群靠谱吗_比特币爱好者微信群_比特币微信群二维码

圈内部分为需要获取的.png

第四个功能:写入得到的excel文件

第五个功能:保存二维码图片到本地

第六个功能:将获取的信息切片,存入excel。

微信比特币群靠谱吗_比特币爱好者微信群_比特币微信群二维码

获取的信息与页面显示相同,以冒号分隔.png

微信比特币群靠谱吗_比特币爱好者微信群_比特币微信群二维码

切片保存方便参考.png

我比较懒,这里就不详细介绍每个功能了。 后面会贴出完整的代码,我在代码里写了一些注释。 让我们看看你自己。3。 代码自评

1:这些代码应该有相当大的优化空间。 比如将数据写入excel。 我这里用的是把所有的数据存成一个列表,然后取出来写入excel文件。

2:我这里也没写多线程。 里面写了很多for,怕自己写多线程的时候看的一头雾水。 (反正就是玩玩而已,爬取效率我不在乎)(PS:其实我还不知道怎么用多线程,哈哈)

3:我把代码丢给了服务器,爬取了一个类型的所有个人微信号信息。 爬取后(1162条信息),二维码也在创建的同名文件夹下。

比特币微信群二维码_比特币爱好者微信群_微信比特币群靠谱吗

让我们运行并更改相应的存储路径。 请不要将此代码用于商业用途。 如有侵犯个人信息,请告知,我将立即删除!

import requests
from bs4 import BeautifulSoup
import bs4
import xlwt
from hashlib import md5
import os
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'}
def gethtml(url):
    '''解析页面源码'''
    try:
        #添加浏览器头,访问超时
        html = requests.get(url,headers=headers,timeout=30)
        html.raise_for_status()
        html.encoding = html.apparent_encoding
        return html.text
    except:
        print('获取页面源码失败')
def getchaturls(html):
    '''获取每页信息详情链接'''
    try:
        soup = BeautifulSoup(html,'html.parser')
        chat_url = []

比特币爱好者微信群_比特币微信群二维码_微信比特币群靠谱吗

for chat in soup.find_all('div',class_='border5'): chat = chat.a.attrs['href'] chat_url.append('http://www.weixinqun.com'+chat) return chat_url except: print('获取页面详细详细链接失败') def getinfo(url,infos): '''获取链接详情页面所需信息''' try: picurls = [] html = gethtml(url) soup = BeautifulSoup(html,'lxml') pic = soup.find('div',class_='iframe') x = pic.find_all('span',class_='shiftcode') #判断是否详情页面是否有群主及群二维码 if len(x) == 2: picurls.append(x[0].img.attrs['src']) picurls.append(x[1].img.attrs['src']) else: picurls.append(pic.img.attrs['src']) #找到详情页面需要数据所在的标签 clearfix = soup.find('div',class_='des_info') #在需要的标签内获取标题 title = clearfix.find('span',class_='des_info_text').get_text().replace('\n','').replace(' ','').replace(':','') #获取详细信息 for info in clearfix.find('ul').children:

比特币爱好者微信群_比特币微信群二维码_微信比特币群靠谱吗

if isinstance(info, bs4.element.Tag): other = info('li') for a in other: infos.append(a.get_text().replace('\n','').replace(' ','')) #获取微信号 waccount = clearfix.find_all('span',class_='des_info_text2') infos.append('微信号:'+waccount[1].get_text().replace('\n','').replace(' ','')) #获取热度 hot = clearfix.find_all('span',class_='Pink') infos.append('热度:'+hot[0].get_text().replace('\n','').replace(' ','')) print('正常处理的详情标题:{}'.format(title)) #调用保存二维码方法 savepic(picurls,title) except: print('详情页面解析失败') def saveinfo(infoms): '''保存excel文件''' wb = xlwt.Workbook() ws = wb.add_sheet('wchat') ws.write(0, 0, '行业') ws.write(0, 1, '时间') ws.write(0, 2, '地区') ws.write(0, 3, '标签') ws.write(0, 4, '微信号') ws.write(0, 5, '热度') pp = 1

比特币爱好者微信群_微信比特币群靠谱吗_比特币微信群二维码

for b in range(0, len(infoms), 6): ws.write(pp, 0, infoms[b]) ws.write(pp, 1, infoms[b + 1]) ws.write(pp, 2, infoms[b + 2]) ws.write(pp, 3, infoms[b + 3]) ws.write(pp, 4, infoms[b + 4]) ws.write(pp, 5, infoms[b + 5]) pp += 1 wb.save('D://微信群//wchat.xls') def savepic(picurls,title): '''保存群或群主/个人微信二维码''' path = 'D://微信群//' if not os.path.exists(path): os.mkdir(path) path1 = path+title+'//' if not os.path.exists(path1): os.mkdir(path1) for url in picurls: photo = requests.get(url,headers=headers).content filename = md5(photo).hexdigest() with open(path1+filename+'.jpg','wb') as f: f.write(photo) f.close() def infossplit(infos):

微信比特币群靠谱吗_比特币微信群二维码_比特币爱好者微信群

'''字符串切片操作''' infoms = [] for info in infos: info = info.split(':')[1] infoms.append(info) return infoms def main(): '''程序入口''' #创建空列表存放详情 infos = [] for page in range(0,13): #页面默认第一页为0,请至页面查看最后一页的数字,将最后一页数字加1输入括号第二位置 #如需其他类型,请至浏览器查看对应类型链接的t值,如微信群链接开头为:http://www.weixinqun.com/group,个人链接开头为:http://www.weixinqun.com/personal first_url = 'http://www.weixinqun.com/personal?t=52&p={}'.format(page) print('正在处理第{}页,链接为:{}'.format(page,first_url)) html = gethtml(first_url) urls = getchaturls(html) for url in urls: print('=====分隔符=====') print('正在处理第{}页,内容详情链接为:{}'.format(page,url)) getinfo(url,infos) infoa = infossplit(infos) print(infos) saveinfo(infoa) print('=====全部处理完成=====') if __name__=='__main__': main()

Python自学技术交流:368639036 有兴趣的可以加入一起学习讨论。