【问题标题】:How to scrape multiple pages when JavaScript:void()?JavaScript:void()时如何抓取多个页面?
【发布时间】:2016-01-01 14:56:58
【问题描述】:

旁注:我在这里完全是菜鸟,所以我实际上不知道该页面是否是 JavaScript 页面。当我检查元素时,它会显示 HTML 代码,但是当我将鼠标悬停在页码上时,它会显示 javascript:void()

我正在查看 this post 以及其他一些人,了解如何使用 Python 请求和漂亮的汤来抓取多个页面。

我的情况和上述帖子的OP类似:

  • 当我点击一个新页面时,url 没有改变
  • 我可以抓取一页,但有多个页面(在我的情况下可能有数千页)

但我的案例和OP的案例,也有一些不同:

  • 在帖子中提到的the website中,当您将鼠标悬停在“2”或“3”上以转到另一个页面时,您会在浏览器的左下方看到javascript:goToPage("2");但是,当我点击任何页面链接时,我正在查看的页面显示为javascript:void(0)
  • 我在检查元素时也没有收到POST,因此我无法遵循提供的解决方案。

同样,我可以抓取一页,但我不会一次抓取所有页面。

【问题讨论】:

  • 您好,您可以发布您要抓取的网站的链接吗?即使它显示javascript:void(0),我们也可以尝试一些事情,然后才能得出该网站完全需要渲染 JS 才能获取数据的结论。
  • @TheLaughingMan 感谢您回复我的评论。我不能发布链接 b/c 它是私人的,但我会尝试找到类似的东西
  • 私有,你的意思是它是一个内部链接/页面吗?
  • @TheLaughingMan 私人的意思是你需要密码和用户名才能进入页面

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


【解决方案1】:

您可以尝试从 Python 迁移到 Javascript 解决方案,并设置环境来执行这些 Javascript。就任何人都可以掩盖 Javascript 代码而言,这是唯一真正的解决方案,因此除非您执行它,否则您无法真正抓取任何东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多