我正在尝试使用请求和cheerio 设置一个基本的刮板。问题是我需要从不同的地理位置获取网站以监控正在显示的广告和实际内容的差异。在没有代理部分的情况下设置它相当容易,但是当我在请求选项中添加代理时,它不起作用(即:我根据我的实际位置获取内容)。
以防万一,这完全是出于教育目的。
这是我正在使用的基本代码(我是一个新手):
var request = require('request');
var cheerio = require("cheerio");
request = request.defaults({jar: true});
var options = {
headers: {
'User-Agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16'
},
proxy: 'http://myusername@gmail.com:mypassword@proxy-provider's-URL'
};
request(options, function () {
request('http://www.the-website-to-scrape.com', function (error, response, body) {
var $ = cheerio.load(body);
$("div").each(function(i, e) {
var result= $(e).find('h3>a').text();
console.log("Result: " + result);
});
});
});
关于如何使这项工作的任何想法?这是我在 stackoverflow 上的第一个问题,几个月前我才开始编码。
提前致谢!