Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Web抓取JS驱动的站点而不渲染_Javascript_Python_Python 3.x_Web Scraping - Fatal编程技术网

Javascript Web抓取JS驱动的站点而不渲染

Javascript Web抓取JS驱动的站点而不渲染,javascript,python,python-3.x,web-scraping,Javascript,Python,Python 3.x,Web Scraping,我最近一直在抓取一些JS驱动的页面。据我所知,有两种加载内容的方法:静态(随时可用的HTML页面)和动态(从原始数据生成HTML代码)。我知道XHR,我已经成功地截获了一些 但现在我遇到了一件奇怪的事情——网站在页面完全加载后动态加载内容,但没有XHR。这怎么可能 我的猜测是:内部js文件正在发出一些隐藏请求(传输数据)并基于响应构建页面。 我该怎么办 另外,我对基于硒的解决方案不感兴趣——它们是众所周知的,但速度慢且效率低。 P.P.S.我主要是后端开发人员,所以我不熟悉JS 如今,您不再需要

我最近一直在抓取一些JS驱动的页面。据我所知,有两种加载内容的方法:静态(随时可用的HTML页面)和动态(从原始数据生成HTML代码)。我知道XHR,我已经成功地截获了一些

但现在我遇到了一件奇怪的事情——网站在页面完全加载后动态加载内容,但没有XHR。这怎么可能

我的猜测是:内部js文件正在发出一些隐藏请求(传输数据)并基于响应构建页面。 我该怎么办

另外,我对基于硒的解决方案不感兴趣——它们是众所周知的,但速度慢且效率低。
P.P.S.我主要是后端开发人员,所以我不熟悉JS

如今,您不再需要使用硒来进行报废。Chrome浏览器现在可以在无头模式下使用,在页面完全加载后,您可以运行抓取脚本。 这里有一个简单的指南:


有nodejs库可以驱动它(chrome remote interface),但缺点是我找不到python库。

你可以试试,或者PhantomJS不是一个选项-仍然太慢,但invoker.io看起来不错-我会检查它的,谢谢!你能分享到那个网站的链接吗?你想提取什么样的信息?Albertoshop.de Brax.com Digel-shop.com-就像这些我需要刮好的手帕,但这个解决方案不适合。Chrome的速度很慢,因为加载站点的图像等等。因此,我不想使用浏览器仿真。但我想你的答案对很多人都会有用!如果图像是isue,只需添加--disable images标志谢谢,但我确实需要使用实际的api调用来获取数据。所以我想知道如何得到它们。