前言
其实一开始是准备爬王者荣耀官网的,但是研究了很长时间,发现它的官网爬取后的数据说是乱码也不算,但都看不懂,也没查到解决办法,估计是反爬比较强,对于新手来说,有点困难。
所以为了练习,还是选择了难度比较小的其他游戏网站。
一、任务目标
首先需要知道完成一个爬虫项目,无论大项目还是小项目,都要制定好目标,然后分解。
我 把这次的任务分成以下几步:
1、获取所有英雄名字、页面链接;
2、进入各个英雄界面,获取背景故事、皮肤链接等信息;
3、将信息储存到Json文件;
4、从Json文件中提取英雄名字、皮肤链接等信息;
5、下载并保存皮肤。
分解好任务就可以开始写程序了。
二、程序代码
1、获取所有英雄名字、页面链接
我找的网站是这个 ==http://db.18183.com/wzry/==相对于官网来说,它的反爬机制就比较松,在Network里Preview可以看到页面信息,所以直接用Elements找信息就可以了。
找信息这块,我因为刚学的xpath,所以想练习练习,就没用Beautifulsoup来找,其实这个我感觉都差不多,可能xpath有的时候还不如Beautifulsoup好用了。
hero_url_list =html.xpath('//div[contains(@class,"section hero-result-box mod-bg clearfix")]//a/@href')
这是我用xpath找的各个英雄的页面链接。
2、进入各个英雄界面,获取背景故事、出装、皮肤链接等信息
有了英雄页面链接,我们下一步就可以去分析、提取其他信息了。还是以蒙括为例,进入它的页面。
它的信息分布还是很清晰的,包括英雄名字、皮肤、背景故事等,下面我们就分别来提取信息就好了。
英雄名字
hero_name = html.xpath('//div[@class="name-box"]/h1/text()')
英雄名字这里还是比较好提取的,最恶心的是出装,后面再解释。