Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >爬虫实例九:探索神秘的原神世界

爬虫实例九:探索神秘的原神世界

原创
作者头像
远方的星
修改于 2021-03-05 06:31:27
修改于 2021-03-05 06:31:27
2K00
代码可运行
举报
运行总次数:0
代码可运行

一、前言

《原神》是一款开放世界冒险游戏,有着丰富多彩的元素,可爱帅气的人物角色,五彩斑斓的风景,那我们怎么使用python爬虫打开“原神世界”的大门呢?我们今天就来用python爬虫探索一下游戏角色!

二、页面分析

首先,打开《原神》官网,找到“角色”:链接传送门

然后进行右击检查,寻找想要找的元素。

如:

人物图

人物名:

寻找完毕,右击复制xpath,准备编写爬虫程序!

三、完整代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: UTF-8 -*-
"""
@Author  :远方的星
@Time   : 2021/3/3 20:18
@CSDN    :https://blog.csdn.net/qq_44921056
@腾讯云   : https://cloud.tencent.com/developer/column/91164
"""
import requests
from lxml import etree
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 LBBROWSER'
}
url = 'https://ys.mihoyo.com/main/character/mondstadt?char=0'
response = requests.get(url=url, headers=headers).text
html = etree.HTML(response)
list_all = html.xpath('//*[@id="frame"]/div[4]/div/div/div[3]/div[1]/ul/li')
print(list_all)

运行结果:

emmmm,是个[ ],发生什么事了,是我xpath写错了了,不可能呀,我是复制的! 然后,我打印了“response”,哦~要命 ~,爬取的结果和页面的源代码不一样。 那我只好出动“秘密武器”了,就决定是你啦,“selenium

四、完整代码—2

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: UTF-8 -*-
"""
@Author  :远方的星
@Time   : 2021/3/4 12:16
@CSDN    :https://blog.csdn.net/qq_44921056
@腾讯云   : https://cloud.tencent.com/developer/column/91164
"""
import requests
from lxml import etree
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import os
# 导入请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 LBBROWSER'
}
# 创建文件夹
path = 'D:/原神/蒙德城'
if not os.path.exists(path):
    os.mkdir(path)
# 实现无可视化界面(固定写法)
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
# 蒙德城的初始页面
url = 'https://ys.mihoyo.com/main/character/mondstadt?char=0'
# 如果想下载璃月港角色,使用这个url = 'https://ys.mihoyo.com/main/character/liyue?char=0',建议path那里也改动一下哟
# 初始化browser对象
browser = webdriver.Chrome(executable_path='chromedriver.exe', options=chrome_options)
# 模拟浏览器进行访问
browser.get(url=url)
# 获取页面的源代码
page_text = browser.execute_script("return document.documentElement.outerHTML")
html = etree.HTML(page_text)
list_s = html.xpath('//*[@id="frame"]/div[4]/div/div/div[3]/div[1]/ul/li')  # 提取到图片的li节点
for i in range(len(list_s)):
    image_url = list_s[i].xpath('./img[1]/@src')[0]  # 获取图片的链接
    num = i + 1  # 代表着图片对应的名字的神秘数字
    # 获取角色名字
    name = html.xpath('//*[@id="frame"]/div[4]/div/div/div[3]/div[2]/div[1]/ul/li[{}]/p/text()'.format(num))[0]
    image_name = name + '.png'  # 得到图片名字
    image_path = path + '/' + image_name
    image_data = requests.get(url=image_url, headers=headers).content  # 获取图片内容
    with open(image_path, 'wb') as f:
        f.write(image_data)
        print(image_name, '===========>下载完毕!!!')
        f.close()

运行结果:

哦~ 舒服了~ 可爱的可莉拿到了

五、补充

小伙伴如果想要自己尝试练习selenium,建议把“无可视化”的代码去掉嗷,要不然,你会发现你的CPU不知不觉就满了。

作者:远方的星

CSDN:https://blog.csdn.net/qq_44921056

腾讯云:https://cloud.tencent.com/developer/column/91164

本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
爬虫实例十:探索神秘的原神世界(二)
上一篇讲到用python爬虫打开了角色篇的大门,今天我们就来看一下,角色的同人图。
远方的星
2021/03/09
1.5K0
爬虫实例十:探索神秘的原神世界(二)
爬虫实例十一:python爬虫带你玩转日系P站
右击 页面进行检查,发现了每个子页面对应的article节点,点开一个article节点进行观察,很容易发现,里面有一个跳转链接。
远方的星
2021/03/20
1.4K0
爬虫实例十一:python爬虫带你玩转日系P站
爬虫实例八:爬取天气预报数据,并实现数据可视化
在爬取数据时,有些数据,如图片、视频等等,爬到就是赚到;而有时候,我们爬到的可能只是一些数字,表面上,看上去没什么意义,但当我们换一种角度来看待问题的话,可能又是一个崭新的世界。于是,我今天学习了一下数据的可视化。
远方的星
2021/03/02
8.9K1
爬虫实例八:爬取天气预报数据,并实现数据可视化
斗图狂魔必备沙雕表情包,python多线程爬取斗图啦表情图片
混迹网络,表情包必不可少,从表情包图片的出现,无疑是席卷网络聊天的态势,涌现了不少网络神图,同时也培养了不少斗图狂魔,今天的沙雕图片你收藏了么?
二爷
2020/07/22
1.2K0
斗图狂魔必备沙雕表情包,python多线程爬取斗图啦表情图片
爬虫实例十四:爬取王者荣耀英雄的背景故事
首先,进入王者荣耀官网:https://pvp.qq.com/ 按照以下步骤打开一个新的页面,得到第一个目标网址。
远方的星
2021/07/25
9230
爬虫实例十四:爬取王者荣耀英雄的背景故事
爬虫实例十六:python爬取高质量美女壁纸
接下来进入一个全新的页面,接着打开抓包工具,选择XHR,并且不要刷新!不要刷新!不要刷新! 然后开始下拉。
远方的星
2021/08/04
1.1K0
爬虫实例十六:python爬取高质量美女壁纸
【python爬虫】PyQuery实战:爬取镜像p站每日榜单图片
一、构造url 先取网站一页的url进行观察: https://www.vilipix.com/ranking?date=20220122&mode=daily&p=2 可以发现,是由四部分组成,简单
远方的星
2022/01/24
1.7K0
【python爬虫】PyQuery实战:爬取镜像p站每日榜单图片
爬虫实例七:网易云音乐
网易云在线播放每首歌曲时,都有一个外链地址,这是不会变的,跟每首歌的唯一一个id绑定在一起,而每首歌audio文件的URL如下:
远方的星
2021/03/01
4.4K1
爬虫实例七:网易云音乐
Python爬虫+颜值打分,5000+图片找到你的Mrs. Right
本项目利用Python爬虫和百度人脸识别API,针对简书交友专栏,爬取用户照片(侵删),并进行打分。 本项目包括以下内容:
罗罗攀
2018/08/10
7880
Python爬虫+颜值打分,5000+图片找到你的Mrs. Right
爬虫实例十五:python爬取图片并合成视频,加入音频
学习之后发现,下载之后,还要手动去筛选。我就想了一下能不能把图片合成视频,一秒一张图,根据秒数,确定图片名。
远方的星
2021/08/03
2K0
爬虫实例十五:python爬取图片并合成视频,加入音频
❤️心动挑战❤️python爬虫爬取B站封面图片
🍑源生动力😍 对于文章,标题是其浓缩的精华;那么对于视频,其封面就可能是最亮眼的那一帧。B站,作为最近比较火热的短视频平台,其舞蹈区各种各样的舞蹈,尤其是宅舞,深受“宅男”的喜爱。(别和我说什么黑丝、jk,我真的不喜欢😆 ) [在这里插入图片描述] 于是乎,我就尝试使用爬虫获取B站的封面。 🍉网页获取 B站是有防爬措施的,我一开始根据网页进行分析,无果。 转念一想,这么火热的B站,想爬取的人肯定不止我一个,于是乎,我就开始搜索相关的文章和视频。 啪的一下,很快啊,我就找到一篇,根据B站AV号爬取封面图片的文
远方的星
2021/08/21
1.5K0
❤️心动挑战❤️python爬虫爬取B站封面图片
爬虫_糗事百科 demo(1)
版权声明:Copyright © https://blog.csdn.net/zzw19951261/article/details/80996551
zhengzongwei
2019/07/31
3440
爬虫实例六:随心所欲地爬取百度图片
之前爬取了很多静态网页的内容,包括:小说、图片等等,今天我来尝试一下动态网页的爬取。众所周知,百度图片就是一个动态网页。那么,冲!冲!!冲!!!
远方的星
2021/02/28
6830
爬虫实例六:随心所欲地爬取百度图片
Selenium
Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器,但是现在谷歌的无头比较火,下面展示谷歌的无头)
HammerZe
2022/05/11
3.3K0
Selenium
爬虫之selenium
selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器 有了selenium能够实现可见即可爬 -使用(本质,并不是python在操作浏览器,而是python在操作浏览器驱动(xx.exe),浏览器驱动来驱动浏览器) -0 以驱动谷歌浏览器为例子(建议你用谷歌,最合适)找谷歌浏览器驱动 -0 如果是windows,解压之后是个exe,不同平台就是不同平台的可执行文件 -1 安装模块:pip3 install selenium -2 需要浏览器驱动(ie,火狐,谷歌浏览器。。。。驱动得匹配(浏览器匹配,浏览器版本跟驱动匹配)) -3 写代码
GH
2020/03/19
1.9K0
【学习笔记】Python爬虫
URL由协议、主机名、端口、路径、参数、锚点 URLError\HTTPError 后者时前者的子类 用try-except捕获异常
Livinfly
2022/10/26
2.1K0
休闲时光:最近上映的电影与爬虫世界,带您彻底放松!
周末是与亲朋好友相聚的好时机,可以选择一部大家都喜欢的电影,彻底放松,共同度过一个愉快而难忘的周末
AirPython
2023/08/22
2120
休闲时光:最近上映的电影与爬虫世界,带您彻底放松!
python爬虫实例十二:每日播报考研倒计时、天气情况、还有“营养鸡汤”
对于考研,你还在每天数着还有多少天吗?对于天气,你还每天去看天气预报吗?你每天需要看一些励志话语来督促自己前进吗? python可以合上述三者为一体帮你轻松实现你的日常! 请看下面详解。
远方的星
2021/03/14
1K0
python爬虫实例十二:每日播报考研倒计时、天气情况、还有“营养鸡汤”
爬虫学习(三)
When something is important enough, you do it even if the odds are not in your favor.
小闫同学啊
2019/07/18
5.9K0
爬虫学习(三)
用Python爬取自主品牌汽车,看看国产汽车究竟长什么样?(下)
上一篇的推文讲了三家自主品牌车企,上汽、长安、吉利。接下来讲讲剩下的七家,东风、北汽、长城、一汽、广汽、江淮。
小F
2020/10/09
5380
用Python爬取自主品牌汽车,看看国产汽车究竟长什么样?(下)
推荐阅读
相关推荐
爬虫实例十:探索神秘的原神世界(二)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验