相信很多喜欢看足球比赛的朋友都有过买足彩的经历,而且很多老彩民都会有自成一套的分析方法,如盘口分析,球员首发分析,大小球分析等等。(但是好像都不太凑效。。。)
那么接下我将会采集网易彩票网站里的数据,(其中包括欧洲五大联赛英超,意甲,西甲,德甲,法甲2010—2018年)
http://saishi.caipiao.163.com/
尝试从另一个角度看看球赛的赛果。
需要抓取的字段分别有如下7个:
比赛日期时间 day
主队名称 home_team
比分 score
客队名称 visiting_team
主队胜欧赔赔率 win
平欧赔赔率 draw
主队负欧赔赔率 lose
如下图红色方框中所示:
- 第一步,观察与分析,整个网站,右键查看源代码,看开发者工具,发现从主页面到显示详细数据的页面都是静态加载,因此决定用lxml来挖掘数据。五大联赛的首页分别为:
英超:http://saishi.caipiao.163.com/8.html
意甲:http://saishi.caipiao.163.com/13.html
西甲:http://saishi.caipiao.163.com/7.html
德甲:http://saishi.caipiao.163.com/9.html
法甲:http://saishi.caipiao.163.com/16.html - 先抓取一页的数据,代码如下(文件名为soccer_v1.py):
import requests
import uagent #一个我自己写的获取随机User-agent的函数
from lxml import etree
def get_page(url):
headers = {
'User-Agent': uagent.get_ua()}
response = requests.get(url = url, headers = headers)
page = etree.HTML(response.text)
return page
#抓取日期时间字段
def p_day(page):
item = page.xpath('//table[@id="scoreLive"]/tr/td[1]/text()')
return item
#抓取主队名称字段
def p_home_team(page):
item = page.xpath('//td[@class="texRight"]/a/@title')
return item
#抓取比分字段
def p_score(page):
item = page.xpath('//td[@id="bfSam"]/text()')
return item
#抓取客队名称字段
def p_visiting_team(page):
item = page.xpath('//td[@class="texLeft"]/a/@title')
return item
#抓取主队胜欧赔赔率字段
def p_win(page):
item = page.xpath('//table[@id="scoreLive"]/tr/td[last()-3]/span/text()')
return item
#抓取平欧赔赔率字段
def p_draw(page):
item