设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

使用Python抓取欧洲足球联赛数据

2014-6-3 14:28| 发布者: joejoe0332| 查看: 9633| 评论: 0|原作者: naughty|来自: 开源中国社区

摘要: 背景Web Scraping在大数据时代,一切都要用数据来说话,大数据处理的过程一般需要经过以下的几个步骤数据的采集和获取数据的清洗,抽取,变形和装载数据的分析,探索和预测数据的展现其中首先要做的就是获取数据,并 ...


  因为之前我们还抓取了球员本赛季的比赛详情,所以我们可以进一步的抓取所有球员每一场比赛的记录



  抓取的代码如下


01def get_player_match(url):
02    html = urlopen(url).read()
03    soup = bs4.BeautifulSoup(html, "lxml")
04    matches = [ dd for dd in soup.select('.shtdm tr'if dd.contents[1].name != 'th']
05    records = []
06    for item in [ dd for dd in matches if len(dd.contents) > 11]: ## filter out the personal part
07        record = []
08        for match in [ dd for dd in item.contents if type(dd) is bs4.element.Tag]:
09            if match.string:
10                record.append(match.string)
11            else:
12                for in [ dd for dd in match.contents if type(dd) is bs4.element.Tag]:
13                    query = dict([(k,v[0]) for k,v in urlparse.parse_qs(d['href']).items()])
14                    record.append('teamid' in query and query['teamid'or query['id'])   
15                    record.append(d.string and d.string or 'na')                    
16        records.append(record)
17    return records[1:]  ##remove the first record as the header
18 
19def get_players_match(playerlist, baseurl = BASE_URL + '/player.aspx?'):
20    result = []
21    for item in playerlist:
22        url =  baseurl + item[10]
23        print url
24        result = result + get_player_match(url)
25    return result
26match_fields = ['date_cn','homeid','homename_cn','matchid','score','awayid','awayname_cn','league_cn','firstteam','playtime','goal','assist','shoot','run','corner','offside','foul','violation','yellowcard','redcard','save']    
27write_csv('m.csv',get_players_match(result),match_fields)


  抓取的过程和之前类似。


  下一步做什么


  现在我们拥有了详细的欧洲联赛的数据,那么下一步要怎么做呢,我推荐大家把数据导入BI工具来做进一步的分析。有两个比较好的选择:


Tableau在数据可视化领域可谓无出其右,Tableau Public完全免费,用数据可视化来驱动数据的探索和分析,拥有非常好的用户体验

  Splunk提供一个大数据的平台,主要面向机器数据。支持每天免费导入500M的数据,如果是个人学习,应该足够了。


  当然你也可以用Excel。 另外大家如果有什么好的免费的数据分析的平台,欢迎交流。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部