【问题标题】:Web scraping without Javascript in Python using requests使用请求在 Python 中不使用 Javascript 进行网页抓取
【发布时间】:2020-04-15 00:12:10
【问题描述】:

所以,我正在制作一个 Python 脚本,它获取网页内容并将其与之前保存的版本进行比较,以查看网页是否已更改。我正在使用这种方法获取原始内容:

def getcontent(url):
    str = requests.get(url)
    str = str.text
    return(str)

在那之后,我正在清理内容并引用转义等,但这无关紧要。我一直遇到的问题是,网页有一些 JavaScript 代码,它会生成我的方法下载的唯一密钥。每次抓取网页内容,key都不一样。我对那把钥匙的用途一无所知。问题是,如果密钥不同,新内容和保存的内容就不一样了。

当我请求网页时,如何禁止 JavaScript 运行?

【问题讨论】:

  • 请求不应运行 javascript。从这个角度来看,我认为您无能为力。也许您可以检查除唯一键之外的所有内容?
  • 不幸的是,没有办法阻止服务器端代码做服务器端代码所做的事情......你能做的最好的事情就是清理数据以防止错误的差异。到那时,它很可能是 javascript 做的,但是服务器端(例如 node.js)。但是 requests.get 不执行任何客户端代码。

标签: python html web web-scraping python-requests


【解决方案1】:

令牌是在服务器端生成的,可以用于各种原因(例如 CSRF-token)

令牌将始终在您的响应内容中,不需要 JavaScript。

您应该找到忽略/删除令牌的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 2019-07-27
    • 2011-10-21
    • 1970-01-01
    相关资源
    最近更新 更多