【问题标题】:No data has been sent through CasperJS ajax没有数据通过 CasperJS ajax 发送
【发布时间】:2018-04-03 15:13:59
【问题描述】:

我正在研究 Casper JS 网页抓取,目前我已经从网站上抓取了标题。我正在向我通过 post 收集数据的 php 文件发出 ajax 请求,但是当响应状态为 200 and OK 时,数据没有通过它发送,我不知道是什么导致了问题。

其余数据成功插入到表中,但没有插入标题。

var casper = require('casper').create();

casper.start("https://www.google.com/");
casper.then(function(){
  var data = this.evaluate(function(){
    var title = document.getElementsByTagName('title')[0].textContent;
    return title;
  })
  console.log(data);
  casper.thenOpen("http://localhost/fiverr/Crawl%20The%20Jobs/modal_scripts.php",{method:"POST",data:data+"&crawled_jobs=true"}).then(function(res){
    console.log(res.status);
  })
})

casper.run();

PHP 脚本,我正在收集数据:

if (isset($_POST["crawled_jobs"])) {

  $title = $_POST["data"];
  $jobs_list_insert = "INSERT INTO jobs VALUES(null,'$title','nady','ahmad','kahn','yess','yesss')";
  $con->query($jobs_list_insert);


}

【问题讨论】:

    标签: web-scraping phantomjs casperjs


    【解决方案1】:

    找到了解决办法:

    var i = 0;
    console.log("Data Length : " + d.length);
    
    function sendData(i) {
      console.log("Posting Data...");
    
      casper.thenOpen("http://localhost/fiverr/Crawl%20The%20Jobs/modal_scripts.php", {
        method: "POST",
        data: "title=" + d[i].title + "&loc=" + d[i].loc + "&day=" + d[i].day + "&salary=" + d[i].salary + "&link=" + d[i].link + "&logo=" + d[i].compLogo + "&crawled_jobs=true",
        async: false
      }).then(function(res) {
        console.log(res.status);
        sendData(i + 1);
      })
    
    }
    
    sendData(i);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-06
      • 1970-01-01
      • 2015-08-21
      • 1970-01-01
      • 2015-07-20
      • 2016-10-28
      • 2020-04-19
      • 1970-01-01
      相关资源
      最近更新 更多