python爬虫—dota2上分ing...

这是max+上一张英雄胜率图
python爬虫—dota2上分ing...
那么我们怎么获取图片中的信息并加以利用呢?
1.编辑定向获取该网页的爬虫,获得上面的“姓名”“胜率”“使用次数”的信息
新建爬虫项目dotaitems:
新建后的scrapy基本框架就是这样子
python爬虫—dota2上分ing...
分别说一下几个部分:
item.py相当于爬取到数据的容器;
name=scrapy.Field()
frequency=scrapy.Field()
wr=scrapy.Field()#win rate
settings是配置文件,需要修改的地方不多;(pipelines默认是关闭的,要打开)
ITEM_PIPELINES = {
‘dotaitems.pipelines.DotaitemsPipeline’: 300,
}

#

maxsearch是爬虫的核心部分,因为只对单个网页操作,所以主要是正则表达式的书写;
item[“name”]=response.xpath(“//span[@class=’hero-name-list’]/text()”).extract()
item[“frequency”]=response.xpath(“//td[@style=’width: 40%’]/div[@style=’height: 10px’]/text()”).extract()
item[“wr”]=response.xpath(“//td[@style=’width: 30%’]/div[@style=’height: 10px’]/text()”).extract()
这样可以分别获取到图片中需要扣下来的东西,并将它存下来;

#

pipelines是对爬取数据进一步处理的方法;
在pipelines中我把获取的数据存储在dotaitems.json中;
打开后如下;
python爬虫—dota2上分ing...

以上就获取了数据并存储了下来;下一步是看看胜率和出场次数有没有关系呢?
经过一系列处理。。。。。。
横坐标是出场次数,纵坐标是胜率。。。
哈哈,好像没什么关系,只是玩TF的人特别多
python爬虫—dota2上分ing...
总的来说,胜率高的英雄,大家玩的就多;同时也有人喜欢‘秀’而选择像TF这样的英雄。。。