皮皮网
皮皮网

【robust 源码解析】【mysql8 源码】【论坛的app源码】七圣源码_七圣游戏

来源:疫情溯源码怎么打印出来的 发表时间:2024-11-30 13:26:20

1.【原神】各角色Pixiv涩统计(二) Python爬虫爬取Pixiv上各角色涩并统计.

七圣源码_七圣游戏

【原神】各角色Pixiv涩统计(二) Python爬虫爬取Pixiv上各角色涩并统计.

       统计结果详情请参阅前一篇文章。圣源

       已将代码开源至GitHub。码圣

       诚然,游戏此项目为我完成过的圣源最具挑战性的爬虫任务,耗时两天半,码圣全无进展。游戏robust 源码解析

       Pixiv的圣源反爬机制使我不得不面对复杂的代码编写。

       为了统计各角色的码圣涩图数量,我们需要在Pixiv搜索角色名称。游戏对于爬虫而言,圣源正确的码圣链接应为:

       Pixiv主要使用的语言包括简体中文、繁体中文、游戏日文、圣源英文和韩文。码圣考虑到《原神》没有俄语版本,游戏我们不统计俄语。

       同时,应注意,搜索出的角色名称可能与《原神》无关,因此不能将其纳入统计。

       综上,我们的统计逻辑如下:

       使用的库包括:

       首先,我们需要获取《原神》各角色名称,这可以从《原神》官网爬取。mysql8 源码

       在实际爬取过程中,网站的语言切换经常失败或自动根据IP地址跳转,甚至返回一半英语一半日文内容。因此,我手动保存了网站各语言的源代码。简体中文名称可直接在《原神》国内官网找到,与国际版类似,但注意,一定注意。

       国内官网上刻晴和七七的顺序有误,需要在保存的源代码中调整。

       之后,用正则表达式识别各角色的各语言名称,并对一些稻妻角色名称进行适当调整,以增加搜索内容。

       注意,原神官网上没有荧和空,需进行特殊处理。

       判断作品是否与特定《原神》角色相关的方法是:如果作品中出现其他《原神》角色名称、除本语言外的本角色名称,或包含特定元素(如列表中的元素),则认为其与该角色相关。

       忽略大小写。论坛的app源码

       判断标签如下:

       标签包括:原神、Genshin、Impact、米哈游、HoYoLAB、원신、HOYOVERSE、miHoYo、蒙德、璃月、须弥、稻妻、枫丹、纳塔、至冬、提瓦特、Mondstadt、Liyue、Inazuma、Sumeru、Fontaine、Natlan、Snezhnaya、中流砥柱源码爷、派蒙、Paimon、旅行者、履刑者、屑、森林书、兰纳罗、双子、愚人众、Traveller、Traveler、雷音权现、七星、水、火、岩、冰、风、雷、草、タル蛍、雷**、uniapp期货量化源码雷电真、雷**、黄金梦乡、深渊、Abyss、七圣召唤、Twins、崩坏、星穹铁道、爱莉希雅、Elysia、女仆、旅人、Travel、公子、捷德、风花节、海灯节、纠缠、Wish、Pull、海祈岛、珊瑚宫、渊下宫、尘歌、萍姥姥、龙脊雪山、苍风高地、风啸山坡、明冠山地、坠星山谷、珉林、璃沙郊、云来海、碧水原、甜甜花、层岩巨渊、Status、天理、琪亚娜、食岩之罚、仙跳墙、佛跳墙、野菇鸡肉串、珊瑚宫、心海、Pyro、Cyro、Hydro、Nature、Anemo、Geo、Dendro、Electro、Swirl、原石、Primogem、Jade、God、Fate、Intertwined、纠缠之缘、Serenitea、Artifact、圣遗物、博士、doctor、同人。

       随后,便是核心环节:爬取Pixiv。

       由于Pixiv不接受未登录的爬虫,但我们可以巧妙绕过登录接口。我们通过复制登录后浏览器的cookie并写入header。

       (关于使用多个cookie的原因,我将在后面解释)

       有了cookie,我们在爬取tags时才能获取正常内容。请注意,内容并非直接在HTML页面中返回,而是需要通过请求另一个页面才能获得有意义的信息。特定链接用于生成请求,然后请求获取内容。

       链接生成方式简单,通过字符串拼接。

       之后,加载JSON数据,使用正则表达式筛选出有用信息。

       注意,Pixiv的响应速度较慢,短时间内的请求量过大,会返回空内容,因此需要判断内容是否为空。同时,如果某个tag下面没有内容,返回的也是空值。此外,网络不稳定也可能导致收到空内容或不完整内容。

       有时网络状况良好,Pixiv正确处理响应,但返回的内容不完整或与预期不符。

       最后,爬取完所有内容后,将page加1,继续爬取下一页内容。Pixiv不会返回错误,而是返回空值。

       还需注意,返回的内容可能包含重复信息,需要处理。

       如需自写代码,上述问题都需要考虑。我的代码中已考虑并测试通过。

       之前提到,Pixiv爬取速度慢,因此我们使用多线程。但多线程容易导致cookie失效,因此采用多个cookie,并设计算法决定使用哪个cookie。如果一次请求失败,该cookie的sleep time增加秒。更换cookie时,需睡眠对应cookie的睡眠时间。成功处理完6个角色(所有语言名称)后,将sleep time重置,避免退化为单cookie模式。

       至于main.py运行后的结果可视化,这部分内容较长且主要涉及matplotlib绘图,如有问题可至评论区询问。

       代码开源地址:

       前一篇文章:

       封面(AI):

       荧 / Lumine

相关栏目:知识

.重点关注