【问题标题】:How can i scrape a football results from flashscore using python我如何使用 python 从 flashscore 中抓取足球结果
【发布时间】:2020-04-24 10:34:15
【问题描述】:

网页抓取 Python

' 我是新手。我想获取 2018-19 赛季英超联赛的结果(赛程、结果、日期),但我在浏览网站时遇到了困难。我得到的只是空列表/ [无]。如果您有一个可以分享的解决方案,那将是一个很大的帮助。 '

'这是我尝试过的。'

'''

import pandas as pd
import requests as uReq
from bs4 import BeautifulSoup

url = uReq.get('https://www.flashscore.com/football/england/premier-league-2018-2019/results/')

soup = BeautifulSoup(url.text, 'html.parser')

divs = soup.find_all('div', attrs={'id': 'live-table'})

Home = []
for div in divs:
    anchor = div.find(class_='event__participant event__participant--home')
    
    Home.append(anchor)
    
    print(Home)

'''

【问题讨论】:

    标签: python-3.x web-scraping beautifulsoup python-requests


    【解决方案1】:

    您必须为我的解决方案安装 requests_html

    下面是我的做法:

    from requests_html import AsyncHTMLSession
    from collections import defaultdict
    import pandas as pd 
    
    
    url = 'https://www.flashscore.com/football/england/premier-league-2018-2019/results/'
    
    asession = AsyncHTMLSession()
    
    async def get_scores():
        r = await asession.get(url)
        await r.html.arender()
        return r
    
    results = asession.run(get_scores)
    results = results[0]
    
    times = results.html.find("div.event__time")
    home_teams = results.html.find("div.event__participant.event__participant--home") 
    scores = results.html.find("div.event__scores.fontBold")
    away_teams = results.html.find("div.event__participant.event__participant--away")
    event_part = results.html.find("div.event__part")
    
    
    dict_res = defaultdict(list)
    
    for ind in range(len(times)):
        dict_res['times'].append(times[ind].text)
        dict_res['home_teams'].append(home_teams[ind].text)
        dict_res['scores'].append(scores[ind].text)
        dict_res['away_teams'].append(away_teams[ind].text)
        dict_res['event_part'].append(event_part[ind].text)
    
    df_res = pd.DataFrame(dict_res)
    

    这会生成以下输出:

    【讨论】:

    • 非常感谢@quest
    • 不客气@miSfit。抓取时要小心,因为许多网站明确要求您不要抓取。祝你好运。
    猜你喜欢
    • 2018-02-13
    • 1970-01-01
    • 2021-10-15
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多