首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Beautiful Soup (HTML解析)

Python Beautiful Soup (HTML解析)
EN

Stack Overflow用户
提问于 2017-05-23 12:25:17
回答 2查看 242关注 0票数 1

我是一个初学者在Python3.6中使用BeautifulSoup来执行“网络抓取”。

一旦我运行了一个request.get()并对输出进行了细化,我注意到网页没有返回这些值,它似乎在存储与该值相关的代码。

以下是指向特定网页的链接:http://www.tennisabstract.com/cgi-bin/wplayer.cgi?p=AngeliqueKerber&f=r1

我正在试着抽出运动员在网球中使用的手。以下图片突出显示黄色:我试图获得的图片:

如果问题的大纲令人困惑(或非标准的)反馈,我将非常感激,这样的反馈将有助于我在未来确保我提出的问题是适当的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-23 17:49:52

有两种选择(大部分)。

第一种是更简单、更慢的浏览器仿真。您只需尝试使用该网站作为一个正常的用户-与浏览器。有一个用于此任务的python模块- selenium。它使用特定的webdriver来使用浏览器。有很多可用的网络驱动程序(例如使用chromedriver来使用chrome)。此外,还有无头解决方案(例如PhantomJS)。

另一种方式是更聪明、更快-- XMLHttpRequests (XHR)。基本上-站点使用一些隐藏的API通过JS获取信息,并且您试图找出准确的方法。在大多数情况下,您可以使用浏览器的Inspect Element工具箱。切换到它的network选项卡,清除它,尝试获得结果。然后对其进行排序,只看到XHR。它通常返回基于JSON的值,这些值很容易使用json()对象的Response方法转换成python字典。

票数 1
EN

Stack Overflow用户

发布于 2017-05-23 21:17:17

这里有一个非常棒的GitHub,它是在这个网站上制作的,一个API --实际上你可以修改/编辑一些东西(分叉它),然后以你想要的方式使用它。

这里

它使用Selenium,但是它质量很高。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44134771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档