python爬取原神官网所有角色的全身图
需要的工具
- python环境
- 原神首页链接 https://ys.mihoyo.com/main/
- 一个.py文件
话不多说,直接开整
用到的库有
import re # 用于正则匹配网页内容
import requests # 用于爬取数据
import os # 用于创建文件夹
image_path = os.path.join(os.getcwd(), "image") # 得到与该文件的绝对路径,通过path.join拼接得到iamge文件夹的绝对路径
os.mkdir(image_path ) # 创建与.py文件同级的文件夹 ps://感觉应该用try 语句
蒙德角色链接
https://ys.mihoyo.com/main/character/mondstadt?char=0
璃月角色链接
https://ys.mihoyo.com/main/character/liyue?char=0
稻妻角色链接
https://ys.mihoyo.com/main/character/inazuma?char=0
显然,从角色链接地址中我们可以看出,角色链接只有城市名称不同,如果我们能从原神首页的源代码中得到三个城市的英文名称,就能得到三个国家角色链接的地址。
第一步获取原神首页的代码
提到爬虫,直接上爬虫三件套,url, header, requests.get()
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.56"
}
url = "https://ys.mihoyo.com/main/"
response = requests.get(url, headers=headers)
右击查看原神首页源代码(如果右击只能检查,没法查看网页源代码,请按下图操作)
在网址的前加上 view-source:
在源代码中,ctrl+f 搜索页面,搜索内容为 liyue, 发现源码中只有一处为liyue
定位此处,由于我们采用的是re模块爬取网页,需要找到特别标记的位置
reg = r'contentId:".*?",title:"?P<city_name>.*?",key:"(?P<city_name_en>.*?)",home:' # 正则匹配内容