网页抓取 futbin.com
Posted
技术标签:
【中文标题】网页抓取 futbin.com【英文标题】:Web-scraping futbin.com 【发布时间】:2019-03-08 20:27:17 【问题描述】:我正在尝试从 futbin.com 收集包含 FIFA 终极球队球员时间序列数据的数据集。 我在 GitHub 上找到了一个脚本 https://github.com/darkyin87/futbin-scraper 它能够在给定玩家/ID列表的情况下获取玩家的当前价格:
import requests
import json
domain = 'https://www.futbin.com'
version = 19
page = 'playerPrices'
player_ids =
'Arturo Vidal': 181872,
'Pierre-Emerick Aubameyang': 188567,
'Robert Lewandowski': 188545,
'Jerome Boateng': 183907,
'Sergio Ramos': 155862,
'Antoine Griezmann': 194765,
'David Alaba': 197445,
'Paulo Dybala': 211110,
'Radja Nainggolan': 178518
def fetch_prices():
ret_val =
for name, id in player_ids.iteritems():
url = "%s/%s/%s?player=%s" % (domain, version, page, id)
response = requests.get(url)
data = response.json()
ret_val[name] = data[str(id)]['prices']['ps']['LCPrice']
return ret_val
if __name__ == "__main__":
prices = fetch_prices()
fetch_prices
但我要查找的信息不是当前价格,而是位于底部的价格(特别是 PS 价格)历史记录,如图所示。 https://www.futbin.com/19/player/143/Cristiano%20Ronaldo/
我尝试了一些方法,但似乎无法解析/提取此信息...有人可以帮助我或给我提示吗? 提前致谢
【问题讨论】:
【参考方案1】:很难以这种方式获取数据。如果您检查您的浏览器网络工具,您可以看到创建图表的数据来自 http 请求。当然不要滥用它。
import requests
from datetime import datetime
player_ids =
'Arturo Vidal': 181872,
'Pierre-Emerick Aubameyang': 188567,
'Robert Lewandowski': 188545,
'Jerome Boateng': 183907,
'Sergio Ramos': 155862,
'Antoine Griezmann': 194765,
'David Alaba': 197445,
'Paulo Dybala': 211110,
'Radja Nainggolan': 178518
for (name,id) in player_ids.items():
r = requests.get('https://www.futbin.com/19/playerGraph?type=daily_graph&year=19&player=0'.format(id))
data = r.json()
print(name)
print("-"*20)
#Change ps to xbox or pc to get other prices
for price in data['ps']:
#There is extra zeroes in response.
date = datetime.utcfromtimestamp(price[0] / 1000).strftime('%Y-%m-%d')
price = price[1]
print(date,price)
这会给你
Arturo Vidal
--------------------
2018-09-21 8450
2018-09-22 9318
2018-09-23 10820
2018-09-24 13288
2018-09-25 13346
2018-09-26 17235
2018-09-27 19092
2018-09-28 15960
2018-09-29 14283
2018-09-30 14967
2018-10-01 15380
2018-10-02 15367
2018-10-03 13192
Pierre-Emerick Aubameyang
--------------------
2018-09-21 136000
2018-09-22 160673
2018-09-23 205474
2018-09-24 216344
2018-09-25 244750
2018-09-26 277007
2018-09-27 288659
2018-09-28 259007
2018-09-29 261799
2018-09-30 270771
2018-10-01 274245
2018-10-02 281057
2018-10-03 275606
Robert Lewandowski
--------------------
2018-09-21 73000
2018-09-22 79961
2018-09-23 94827
2018-09-24 117893
2018-09-25 125310
2018-09-26 144630
2018-09-27 159224
2018-09-28 135122
2018-09-29 132696
2018-09-30 137728
2018-10-01 143130
2018-10-02 150968
2018-10-03 144250
名单还在继续。
【讨论】:
以上是关于网页抓取 futbin.com的主要内容,如果未能解决你的问题,请参考以下文章