可以请求python库在存储该页面的内容之前强制页面加载所有javascript动态内容

yos*_*rry 5 javascript python

Beautifulsoup通常可用于(1)将页面内容存储在变量中,以及(2)解析网页中的元素.

但是它上面的Beautifulsoup本身无法打开 - 密码保护的HTTP错误403页.所以我使用了这个任务的请求.

现在我想知道Requests库是否能够强制加载页面上的javascript?

我正在使用python2.7

请求是否具有request.open(some url).forceJavascriptLoad的能力

Max*_*eev 3

不可以。Requests 不具备以任何方式执行 javascript 的能力。您需要一个所谓的“无头”网络浏览器来完成您想要的操作。以下是其中一些的列表。作为建议,我建议您尝试PhantomJS,虽然它不是用 Python 编写的,但它比其他的有几个优点:

  1. 易于设置和使用
  2. 积极开发而不是像许多其他无头浏览器一样被放弃
  3. 具有非常好的 JavaScript 支持
  4. 速度很快
  5. 提供预编译的二进制文件,以防您在编译时遇到问题

我自己尝试了很多无头浏览器,但我只对 PhantomJS 感到满意。如果您仍然想尝试基于 Python 的无头浏览器,您可以尝试一下Ghost