- 首先可以通过电脑登陆qq,浏览器进入空间
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a5a70b4ac9592032abf6170b37c4f7a0.png)
- 点击进入空间
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d75e1235261d759d0c7174efe8e428fc.png)
- 按f12进入开发者模式,默认在network,不用变,点一下2处清理干净,点一下3(好友),右侧会刷新出好多链接
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1bf1ee495069385633309b22207b1973.png)
- 上下拖动,找到2的链接,如果看不到后缀的cgi,可以向右拖动1处的竖线多显示一些,点击friend_ship_manager.cgi
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/73fafafc16d1b9ab000a270cea3cc6d2.png)
- 点击response, ctrl+a全选,ctrl+c复制
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/99f1e4a25abf5444123488e0c3b706a6.png)
- 在电脑桌面或其他地方新建一个txt文档,将复制的文本粘贴进去保存,名字英文自取
- 下面是利用保存的txt进行拿出好友的qq号,并进行下载头像,拼接成照片墙``
import json
import re
import requests
import os
import time
import math
from PIL import Image
avatar_dir = os.getcwd() + "\\qqImgs\\"
if not os.path.exists(avatar_dir):
os.mkdir(avatar_dir)
with open('friends_qq.txt','r',encoding='utf-8') as f:
txt = f.read()
friend_json = re.findall('\((.*)\)',txt,re.S)[0]
friend_dict = json.loads(friend_json)
friend_info_list = []
for friend in friend_dict['data']['items_list']:
name = friend['name']
qq = friend['uin']
friend_info_list.append([name,qq])
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
}
for i in friend_info_list:
avatar_url ='http://q.qlogo.cn/g?b=qq&nk=%s&s=640&mType=friendlist'%i[1]
response = requests.get(url=avatar_url,headers=header)
img = response.content
file = avatar_dir + str(i[1])
with open('%s.jpg'%file,'wb') as f2:
f2.write(img)
print('%s下载成功'%i[1])
time.sleep(1.5)
def joint_avatar(path):
length = len(os.listdir(path))
image_size = 2560
each_size = math.ceil(2560 / math.floor(math.sqrt(length)))
x_lines = math.ceil(math.sqrt(length))
y_lines = math.ceil(math.sqrt(length))
image = Image.new('RGB', (each_size * x_lines, each_size * y_lines))
x = 0
y = 0
for (root, dirs, files) in os.walk(path):
for pic_name in files:
try:
with Image.open(path + pic_name) as img:
img = img.resize((each_size, each_size))
image.paste(img, (x * each_size, y * each_size))
x += 1
if x == x_lines:
x = 0
y += 1
except IOError:
print("头像读取失败")
img = image.save(os.getcwd() + "/qqFriends.png")
print('qq好友头像拼接完成!')
joint_avatar(avatar_dir)
f.close()