如何在Python中使用BS4、Scrapy或类似的工具来获取Raphaël SVG?

2024-09-30 22:19:37 发布

您现在位置:Python中文网/ 问答频道 /正文

Here's the site我想刮。我想在行动区(5.3%,12.8%等)中找出数字。这是一个使用Raphaël制作的svg。目前我不知道是什么东西刮它,因为它只是SVGAnimatedString。有什么解决办法吗?在


Tags: thesvgheresite数字解决办法raphasvganimatedstring
1条回答
网友
1楼 · 发布于 2024-09-30 22:19:37

你的主要问题是这个网站使用Javascript创建内容。很可能可以确定它调用以获取所需的数据并直接请求,或者另一种方法是使用selenium来自动化浏览器。这将等待网页完全呈现,然后您可以从中提取完整的HTML。在

然后可以使用beautifulsoup帮助解析返回的HTML。例如:

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from bs4 import BeautifulSoup

url = "http://www.sanzarrugby.com/therugbychampionship/match-centre/?season=2018&competition=214&match=2891#matchstatstab"

browser = webdriver.Firefox()
browser.get(url)
soup = BeautifulSoup(browser.page_source, "html.parser")
data = [v.text for v in soup.svg.find_all('tspan')]

print data    

为您提供data的条目列表,如下所示:

^{pr2}$

您需要研究如何安装这些软件包。在

相关问题 更多 >