使用JavaScript进行网页搜刮? JavaScript文件I / O? JavaScript是否通过URL进行迭代?自动加载外部脚本?

时间:2018-07-25 17:56:04

标签: javascript web-scraping

我希望进行一些爬网操作,而无需通过服务台和IT部门来安装和配置Python(因为我是实习生,所以我没有管理员权限)。

我已经用JavaScript编写了所需的日志记录功能,但是我需要将数据从程序中提取到CSV中,以便以后可以转换为.XLS。

我想知道JavaScript是否有可能做这些事情:

  1. JavaScript可以写入文件吗?
  2. 我可以通过单击按钮以某种方式运行外部脚本吗?即,无需将代码粘贴到控制台中的每个页面。甚至,也许是在页面加载时自动运行外部脚本?
  3. 我可以自动遍历并加载URL吗? URL详细信息都保持不变,只是整数值在页面之间变化。

在此先感谢您的输入!

3 个答案:

答案 0 :(得分:1)

1)是的,您可以使用JavaScript使用node.js来写文件,就像这样使用fs模块。

const fs = require('fs');
fs.writeFile('file.txt', data_to_write[, options], callback)

引用:https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback

2)是,您可以使用puppetter运行无头Chrome脚本

3)仔细阅读伪造者文档,您可以找到如何在浏览器中加载URL。迭代链接并将其存储在字符串中,然后打开页面。然后使用page.evaluate()运行代码并抓取内容。

答案 1 :(得分:0)

是的,您可以使用JavaScript来完成所有这些事情。不,由于Same Origin Policy,您不能完全在浏览器中使用JavaScript 来做所有这些事情。

有两件事可以让您做到这一点(副手):

  • Node.js,您可以从zip下载并展开(无需安装步骤)。是否可以在工作站上执行此操作取决于其锁定程度。 Node.js有很多模块可用于处理繁重的Web抓取。

  • Java JVM(通过其脚本支持,尽管JVM的JavaScript脚本宿主在最新的JavaScript功能方面落后)。如果尚未安装,则可以再次安装,而无需管理员权限。

答案 2 :(得分:0)

您绝对可以从服务器端使用node.js做到这一点。

但是您将在浏览器的HTML页面中遇到跨域问题。

因此,对于浏览器,您必须制作一个浏览器插件(又名扩展名,即扩展名)。