我想用Python在像这样的web页面上擦掉“was you looking these authors:”框的内容:http://academic.research.microsoft.com/Search?query=lander
不幸的是,这个框的内容是由JavaScript动态加载的。通常在这种情况下,我可以阅读Javascript来找出发生了什么,或者使用Firebug这样的浏览器扩展来找出动态内容的来源。这次没有这么幸运了……Javascript非常复杂,Firebug并没有提供很多关于如何获取内容的线索。
有什么诀窍能使这项任务容易些吗?
您可以使用ghost.py直接与页面上的JavaScript交互,而不是尝试对其进行反向工程。
如果在chrome控制台中运行以下查询,您将看到它返回您想要的所有内容。
回报
您可以使用ghost.py在现实生活中的DOM中通过python运行JavaScript。
这真的很酷:
前面有人问了一个非常相似的问题。 引用的是selenium,它最初是一个web应用程序的测试环境。
我通常使用Chrome的开发模式,IMHO已经提供了比Firefox更多的细节。
要抓取动态内容,不需要简单的抓取器,而需要成熟的headless browser。
dhamaniasad/HeadlessBrowsers: A list of (almost) all headless web browsers in existence是我见过的这些语言中最完整的一个列表;它列出了每种语言有哪些绑定。
(请注意,所列项目中有多个已放弃!)
相关问题 更多 >
编程相关推荐