用Python抓取网页找不到文字

时间:2018-08-29 19:53:14

标签: python beautifulsoup

我正在使用Canopy 1.6.1中的BeautifulSoup刮擦this webpage。我希望能够返回的是“大学统治者”等级和“突破年龄”等级。我认为这不起作用的原因是因为它落后于Javascript,但我不知道如何从抓取的数据中找到该信息。请帮忙!

1 个答案:

答案 0 :(得分:2)

您提供的页面在浏览器中使用JavaScript(角度)呈现。实际发送的HTML不包含有关“大学统治者”的信息。因此,在解析之前必须先渲染它,我建议使用更适合解析客户端渲染页面的库。 Requests-HTML是这样一种选择。使用该库,您可以实现以下结果:

r = session.get("https://www.playerprofiler.com/nfl/larry-fitzgerald/")
r.html.render()
college_dominator = r.html.search("College Dominator {percentage}% ({rank}th)")
# {"rank": 96, "percentage": 51.3}