您好我正在使用网络剪贴板,首先我尝试使用php CURL
进行剪贴簿,但后来我遇到了一个问题,即我无法删除通过AJAX
加载的网站然后我转移到'幻影JS'和'casper JS`。
现在我已经成功安装了webkit并且可以从任何网站中删除数据,但是我无法保存数据以便在数据库中长期使用。简单地说,供以后使用。我想要做的是,无论我废弃什么数据,我想将其保存到mySql数据库。
有什么方法可以实现这样的功能吗?我尝试发送Ajax
请求将数据发送到数据库但失败了。
我提出了另一个解决方案,例如,当我从指定网站废弃数据时,我将数据推送到名为data[]
的数组,然后我将该数据写入{{1}文件。将每一组数据保存在从.json
得到的对象数组中。
现在,我不知道如何获取该文件数据并将其保存在数据库中?是否有可能在完成报废后,立即从JSON.stringify(data)
文件中获取数据并将其保存到数据库中。
目前只需将此代码作为示例
.json
答案 0 :(得分:0)
概念验证,使用jq:
#!/bin/bash
casperjs script.js
[[ -s file.json ]] || exit 1
jq '"UPDATE ROW SET XXX = "+ .[] + " WHERE FOO=BAR;"' file.json | mysql -D DB_name
file.json:
[
"foo",
"bar",
"base"
]
jq输出:
jq -r '"UPDATE ROW SET XXX = "+ .[] + " WHERE FOO=BAR;"' file.json
UPDATE ROW SET XXX = foo WHERE FOO=BAR;
UPDATE ROW SET XXX = bar WHERE FOO=BAR;
UPDATE ROW SET XXX = base WHERE FOO=BAR;
答案 1 :(得分:0)
我找到的简单解决方案是在evaluate函数内向服务器发出ajax请求:
casper.then(function() {
details = this.evaluate(function() {
var elDet = document.getElementsByClassName("job-description-column")[0];
var detLen = elDet.children[2].children[0].children.length;
var details = elDet.children[2].children[0].children;
var linkedData = [];
for (var i = 0; i < detLen; i++) {
if (details[i].nodeName == "H3" && details[i].id != "if-this-sounds-like-you,-apply") {
linkedData.push({
head: details[i].textContent,
description: details[i + 1].textContent,
title: elDet.children[0].children[0].children[0].textContent,
loc: elDet.children[0].children[0].children[1].textContent,
date: elDet.children[0].children[0].children[2].textContent
})
i++;
} else {
linkedData.push({
head: "No Head",
description: details[i].textContent,
title: elDet.children[0].children[0].children[0].textContent,
loc: elDet.children[0].children[0].children[1].textContent,
date: elDet.children[0].children[0].children[2].textContent
})
}
}
var s = JSON.stringify(linkedData);
console.log(linkedData);
$.ajax({
method: "POST",
url: "http://localhost/fiverr/Crawl%20The%20Jobs/modal_scripts.php",
data: "add_jobdets=true&job_details=" + s,
async: false
})
return linkedData;
})
})
&#13;