【发布时间】:2015-06-06 22:19:33
【问题描述】:
我环顾四周,只找到了将 URL 呈现为 HTML 的解决方案。但是,我需要一种能够将网页(我已经拥有,并且具有 JavaScript)呈现为正确 HTML 的方法。
想要: 网页(使用 JavaScript)---> HTML
不是:URL --> 网页(使用 JavaScript)---> HTML
我不知道如何让其他代码按我想要的方式工作。
这是我用来呈现 URL 的代码: http://webscraping.com/blog/Scraping-JavaScript-webpages-with-webkit/
为了清楚起见,上面的代码采用了一个网页的 URL,该网页的某些部分由 JavaScript 呈现,所以如果我通常使用 urllib2 抓取页面,那么我不会得到所有呈现为的链接等在 JavaScript 之后。
但是我希望能够抓取一个页面,用 urllib2 再说一遍,然后渲染该页面并获得结果 HTML。 (与上面的代码不同,因为它需要一个 URL 作为它的参数。
感谢任何帮助,谢谢大家:)
【问题讨论】:
-
我发现你想要什么不清楚。也许您可以举例说明“将网页呈现为适当的 HTML”的含义。你想要实际的 DOM 吗?你想要文本 HTML 吗?当您“将网页输入浏览器”(即使用浏览器打开此文本文件)时,可以完成渲染,因此尚不清楚您还想实现哪些浏览器尚未完成的操作。
-
现在你已经说得更清楚了——我会选择 Selenium Web Driver。你考虑过吗?如果您给出
urllib2代码的更具体示例,那么我也许可以使用相应的 Selenium 代码来引用它。 -
现在完全不清楚你想要什么:“我想要这部分,但在某种程度上就像第一个例子一样” - 但第一个例子没有做任何事情。它只是在评论中说“我想渲染文本并获得纯 HTML”。那么您是否要呈现 URL ???如果您首先使用
urllib2将数据从 URL 提取到文件中,会有什么不同?无论哪种情况,您都必须在某个时候发送 HTTP 请求。您可以获取文本文件并将其输入 Selenium(或任何其他抓取实用程序),但这与直接使用 URL 没有什么不同。 -
该 URL 受 cloudflare 保护,我不知道如何获取绕过的 url,因为如果我直接获取 URL,它会给我云耀斑块页面。但是,我有办法获得绕过的 HTML
-
所以您可以仅使用
urllib2获取它吗?这怎么可能???
标签: javascript python web-scraping