我正在尝试使用请求和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上的第一个问题,我几个月前才开始编码。
提前致谢!