【发布时间】:2019-02-12 03:53:03
【问题描述】:
我需要抓取一个网站,但是它的内容是动态的。 Python中有没有可以调用js函数的包?例如,假设我应该在那个网页上调用一个链接和 JS 中的 JS 函数 1、2 和 3,并且我需要所有 JS 函数调用后的最终网页。
【问题讨论】:
标签: javascript python web-scraping beautifulsoup web-crawler
我需要抓取一个网站,但是它的内容是动态的。 Python中有没有可以调用js函数的包?例如,假设我应该在那个网页上调用一个链接和 JS 中的 JS 函数 1、2 和 3,并且我需要所有 JS 函数调用后的最终网页。
【问题讨论】:
标签: javascript python web-scraping beautifulsoup web-crawler
执行客户端 javascript 可能会变得非常复杂,因此像用户一样在页面上运行所有 javascript 的最可靠方法是在无头模式下使用真正的浏览器。 专门针对 Python,有一个 Python+Selenium 组合可用于无头 Chrome。 如果你愿意将 Python 换成 Nodejs,一个更强大的工具集是 Puppeteer+headless Chrome(它可以让你做的比 Selenium 更多)。还有一个 Puppeteer 到 Python 的早期非官方端口,但我没有尝试过,无法评论它有多稳定https://pypi.org/project/pyppeteer/
【讨论】: