【问题标题】:Can't get specific data from a HTML site in Python (3.6)无法从 Python (3.6) 中的 HTML 站点获取特定数据
【发布时间】:2017-01-10 17:42:06
【问题描述】:

网页(关于足球和收视率):

http://www.fantagazzetta.com/voti-serie-a

我尝试了什么:

How to extract text from html page?

我尝试使用用户 JRodDynamite 在他的回答中提供的代码(最后只是打印 res 而没有做 for 的事情)。所以我只需要编辑这部分代码(我猜):

res = soup.findAll("article", {"class": "listingItem"})

要打印每个表格的内容,我认为答案是:

res = soup.findAll("table", {"class": "table"})

但它没有打印任何东西。所以我需要你的帮助:我想从该网页收集数据(玩家的姓名和评分),但我被困在这一点上。 谢谢

【问题讨论】:

    标签: python html python-3.x parsing


    【解决方案1】:

    BeautifulSoup、requests 等不执行 Javascript,因此您无法使用任何通过 JS 传递或呈现的数据。

    对于 JavaScript 呈现的页面,您可以尝试使用 dryscrape,如下所示:

    import dryscrape
    from bs4 import BeautifulSoup
    
    sess = dryscrape.Session()
    sess.visit('http://www.fantagazzetta.com/voti-serie-a#')
    s = BeautifulSoup(sess.body())
    for a in s.find_all('table', {'class': 'table'}):
        print(a.text)
    

    干刮安装:

    sudo pip install dryscrape
    

    【讨论】:

    • 您可以为 OP 和其他人描述 dryscrape。链接到文档也可以。
    猜你喜欢
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多