WebScraping&网络导航模拟

时间:2017-01-11 13:33:37

标签: node.js web-scraping cheerio

我正在制作一个webscraper,我已经知道如何废弃一些数据并使用我制作的代码将它们转换为Json:

var express = require('express');
var fs = require('fs');
var request = require('request');
var cheerio = require('cheerio');
var app     = express();
var url = 'http://www.footmercato.net/';

request(url, function(err, resp, body) {
     if (!err) {
       var $ = cheerio.load(body);
       var data = [];
       var i = 1;
       $('.text').each(function(i, element) {
         var article = $('p');
         var jsObject = { title : "", article : "", date : "" };
         var articleTxt = article.text();
         jsObject.article = articleTxt;
         data.push(jsObject);
       })
       var json = JSON.stringify(data);
       fs.writeFile('output.json', JSON.stringify(json, null, 4), function(err) {
           console.log('File successfully written!');
       })
   }
 });

  app.listen('8080');

但我想浏览我正在抓取的网站,填写表格并转到其他页面。

有人知道我是否可以使用cheerio或我如何将其添加到现有代码?

由于

1 个答案:

答案 0 :(得分:0)

您可以使用webdriverio实际上他将打开浏览器窗口,然后您可以通过webdriverio api操纵dom来处理表单鼠标单击,并从一个页面导航到另一个页面。

var webdriverio = require('webdriverio');
var options = {
    desiredCapabilities: {
        browserName: 'firefox'
    }
};
webdriverio
    .remote(options)
    .init()
    .url('http://www.google.com')
    .getTitle().then(function(title) {
        console.log('Title was: ' + title);
    })
    .end();