我正在制作一个网络爬虫,我已经知道如何使用我制作的代码来废弃一些数据并将它们转换为 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 来做到这一点,或者我如何将它添加到我现有的代码中?
谢谢
最佳答案
您可以使用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();
关于node.js - 网页抓取和网页导航模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41592351/