原神2.0宅男福利!Python爬取原神cos图片,谁的妻子赶紧抱走
冲动的心,颤动的手,妻子你们谁没有?
7月21号《原神》2.0发布,各人更新了吗?
更新内容一览:
1、稻妻城:稻妻城和六大岛屿相连,目前新的岛屿只是此中三个;
2、家园系统更新:会新增动物,种植系统;
3、新圣遗物:稻妻会上三种新圣遗物;
4、次要退场人物:八重神子、珊瑚宫星海,早柚、神里绫华、托马、巴尔、宵宫、五郎。
冲动的我,在逛米游社的时候,看着那些cos美女已经抑制不住了,连夜的给各人爬了cos同人图,保留了!有福同享,下面我们一路来看看那些美女,不合错误是代码操做,正好给各人一个练手的小项目!
起首,我们来看看效果图:
开发情况: Python3.6
模块(库): requests/json/os/threading
爬取目标:原神)
目标:爬取COS专区下的图片,并保留
在COS专区下的图片排序以最新回复栏目排序,因而所爬取的图片会跟着最新的时间而更改。法式运行时主动爬取最新20条最新图片。
1、导进库
import requests
import json
import os
import threading
2、初始化URL地址、设置UA代办署理(重视:那里的url并非首页,而是一个二级页面)
class WebSpider(object):
def __init__(self):
self.url = ''
self.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)'
' Chrome/92.0.4515.107 Safari/537.36'
3、阐发数据并贮存为字典返回
def parse(self):
img_dict_data = {}
res = requests.get(self.url, headers=self.headers).content.decode('utf-8')
res = json.loads(res)
res = res['data']['list']
subject_name = [i['post']['subject'] for i in res]
cover_url = [i['post']['cover'] for i in res]
# print(cover_url, subject_name)
# 获取对应的题目以及图片地址
for name, url in zip(subject_name, cover_url):
# print(name, url)
img_dict_data[name] = url
return img_dict_data
4、 保留图片
def save_img(self, data):
for k, v in data.items():
img_type = v.split('/')[-1].split('.')[-1]
save_path = os.path.dirname(os.path.join(__file__)) + '/img' # 当前目次下的图片保留途径
if not os.path.exists(save_path):
os.mkdir('img')
with open(f'img/{k}.{img_type}', 'wb') as f:
img = requests.get(v, headers=self.headers).content f.write(img)
print(f'{k}.{img_type} ---图保留胜利!')
源代码:
爬取地址:
getForumPostList:api返回当前最新回复的列表json数据
forum_id=49:COS栏目ID数据为 49
import requests
import json
import os
import threading
class WebSpider(object):
def __init__(self):
self.url = ''
self.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)'
' Chrome/92.0.4515.107 Safari/537.36'
def parse(self):
img_dict_data = {}
res = requests.get(self.url, headers=self.headers).content.decode('utf-8')
res = json.loads(res)
res = res['data']['list']
subject_name = [i['post']['subject'] for i in res]
cover_url = [i['post']['cover'] for i in res] # 遍历图片的URL地址
# print(cover_url, subject_name)
# 获取对应的题目以及图片地址
for name, url in zip(subject_name, cover_url):
# print(name, url)
img_dict_data[name] = url # 字典增加数据
return img_dict_data # 返回数据
# 保留图片
def save_img(self, data):
for k, v in data.items():
img_type = v.split('/')[-1].split('.')[-1] # 获取图片类型
save_path = os.path.dirname(os.path.join(__file__)) + '/img' # 当前目次下的图片保留途径
if not os.path.exists(save_path): # img文件夹不存在时则创建新文件夹
os.mkdir('img')
with open(f'img/{k}.{img_type}', 'wb') as f:
img = requests.get(v, headers=self.headers).content # 发送恳求获取图片内容
f.write(img) # 写进数据
print(f'{k}.{img_type} ---图保留胜利!')
def main(self):
data = self.parse()
self.save_img(data)
仅供进修,爬虫利用需隆重!
期看能够得到列位的一键三连,感激列位撑持!
祝各人进修python顺利!
假设有正在跟我一样的自学的伴侣,需要我本篇的源码或者其他的Python干货能够转发此文私信我(私信发我“原神”获取)