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

can requests python library force a page to load all javascript dynamic content before storing the contents of that page

本文关键字:javascript 动态 加载 存储 python 请求 Can 一个      更新时间:2023-09-26

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

然而,Beautifulsoup自己无法打开-密码保护的HTTP错误403页。所以我使用请求来完成这个任务。

现在我想知道请求库是否有能力强制页面上的javascript加载?

我使用python2.7

请求是否有能力发送请求。打开(一些url) .forceJavascriptLoad

No。请求不具备以任何方式执行javascript的能力。你需要一个所谓的"无头"网络浏览器来做你想做的事情。以下是其中的一些。作为一个建议,我建议你尝试一下PhantomJS,虽然它不是用Python编写的,但它比其他的有几个优点:

  1. 易于设置和使用
  2. 积极开发,不像许多其他无头浏览器那样被抛弃
  3. 有很好的JavaScript支持
  4. 提供预编译的二进制文件,以防你在编译时遇到问题

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