Phantomjs将刮取的数据写入数据库

Phantomjs将刮取的数据写入数据库,phantomjs,Phantomjs,我写了一个phantomjs脚本来废弃胡佛。 以下是我的流程: 1:使用Nodejs API从数据库获取数据 2:我一次取10行,把这些行一次一行传递给网站,废掉它问题就在这里。我不知何故想将报废的结果存储到一个数组或其他什么东西中,然后将这些数据传递回节点API以更新Azure中的数据库 现在,我可以使用nodejs API从azure获取数据,也可以放弃使用phantomjs。我唯一的问题是如何将结果存储在tempopary存储或数组中,然后将结果传递到nodejs API以更新azure中

我写了一个phantomjs脚本来废弃胡佛。 以下是我的流程:

1:使用Nodejs API从数据库获取数据

2:我一次取10行,把这些行一次一行传递给网站,废掉它问题就在这里。我不知何故想将报废的结果存储到一个数组或其他什么东西中,然后将这些数据传递回节点API以更新Azure中的数据库

现在,我可以使用nodejs API从azure获取数据,也可以放弃使用phantomjs。我唯一的问题是如何将结果存储在tempopary存储或数组中,然后将结果传递到nodejs API以更新azure中的数据库。

我正在使用CasperJS-它在phantomjs上添加了一层,但我认为它可能也适用于幻影

您可以让CasperJS使用要存储的数据对后端进行AJAX调用

使CasperJS在其访问的每个页面中包含一个内容脚本:

var casper=require'casper'。创建{clientScripts:['content.js']}

然后,在content.js中:

function sendToServer(theData){
  var xhr2 = new XMLHttpRequest();
  xhr2.open('POST', your_server_url, true);
  xhr2.send(theData);
}
现在可以从脚本中使用casper.evaluate调用sendToServer

请记住将其包含在您的接收应用程序中,或查看:

否则,ajax将失败。您可能还需要添加返回CORS头的路由选项。另一个解决方案是使用命令行开关禁用PhantomJS上的跨原点检查。

我正在使用CasperJS-它在PhantomJS上添加了一个层,但我认为它也可以在PhantomJS中工作

您可以让CasperJS使用要存储的数据对后端进行AJAX调用

使CasperJS在其访问的每个页面中包含一个内容脚本:

var casper=require'casper'。创建{clientScripts:['content.js']}

然后,在content.js中:

function sendToServer(theData){
  var xhr2 = new XMLHttpRequest();
  xhr2.open('POST', your_server_url, true);
  xhr2.send(theData);
}
现在可以从脚本中使用casper.evaluate调用sendToServer

请记住将其包含在您的接收应用程序中,或查看:


否则,ajax将失败。您可能还需要添加返回CORS头的路由选项。另一个解决方案是使用命令行开关禁用PhantomJS上的跨源检查。

您能否提供一些示例代码,说明如何从中调用ajaxphantomjs@shivaP刚刚更新了moar代码。玩玩它——在我的例子中它起作用了——我使用的是casperjs,它使用的是phantom,并添加了一些自己的东西——在你的例子中,你应该在phantom内容脚本和Evaluate中找到类似的功能。你能提供一些我们如何从中调用ajax的示例代码吗phantomjs@shivaP刚刚更新了moar代码。使用它-在我的案例中,它很有效,我使用的是casperjs,它使用phantom并添加了一些自己的东西-在您的案例中,您应该在phantom内容脚本中找到类似的功能并进行评估