使用request和cheerio设置使用nodejs进行抓取的代理

时间:2015-11-11 15:16:29

标签: node.js proxy web-scraping cheerio requestjs

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

提前致谢!

0 个答案:

没有答案