无法从Python中获取HTML网站的特定数据(3.6)

时间:2017-01-10 17:42:07

标签: python html python-3.x parsing

网页(关于足球和评分):

  

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

我尝试了什么:

  

How to extract text from html page?

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

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

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

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

但它不打印任何东西。所以我需要你的帮助:我想从该网页收集数据(玩家的名字和评级),但我仍然坚持这一点。 感谢

1 个答案:

答案 0 :(得分:1)

BeautifulSoup,请求等不会执行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)

Dryscrape安装:

sudo pip install dryscrape