英超联赛10年数据爬虫
引言:今天对国外某足球网站进行爬虫,爬取英超联赛10年数据,主要包括比赛双方以及比分。
1.网站分析
网址:https://www.premierleague.com/results(需要科学上网)。我们要的信息主要是对战双方和第一粒进球的时间。右击查看源码没有我们要的信息,考虑是动态加载。F12打开开发者选项。
找到了信息存放的网址https://footballapi.pulselive.com/football/fixtures?comps=1&compSeasons=79&teams=1,127,131,43,4,6,7,159,26,10,11,12,23,20,42,45,21,33,36,25&page=0&pageSize=40&sort=desc&statuses=C&altIds=true。且里面的数据是json格式,一页就有40条的数据。对于网址太长,经过我的试验可以删去部分得到网址如下https://footballapi.pulselive.com/football/fixtures?comps=1&compSeasons=79&page=0&pageSize=40&sort=desc&statuses=C&altIds=true。这是17-18赛季对应的网址,往下翻会加载出跟多的比赛内容,而网址对应的变化就是page从0到10的变化。如果要爬取16-17赛季的数据则去查看对应的网址。我查看之后发现变化的只有Seasons这个数据。所以如果你是要爬取多个年份的数据则相当于两个循环。外循环是Seasons这个数据的循环,然后对应每个Seasons都有一个page的循环。
Json数据分析
确定好了数据的来源,那么我们就要分析如何获取Json数据中我们要的部分。我们要的数据主要是存在了如下位置。