gpt4 book ai didi

javascript - 使用 Cheerio Nodejs 进行网页抓取

转载 作者:太空宇宙 更新时间:2023-11-04 01:50:01 25 4
gpt4 key购买 nike

我正在尝试以零经验的方式在 MonsterIndia.com 上抓取工作。 ,所以我使用cheerio和nodejs编写了以下代码,我观察到我可以通过像https://www.monsterindia.com/**php**-jobs.html这样的搜索来搜索php工作,但是如果我想以零经验搜索php工作,我必须在网站上手动添加过滤器,但它不会反射(reflect)在页面的url中,所以我该如何实现这一点,我是网络抓取的完全初学者,请帮忙。

var request = require('request');
var cheerio = require('cheerio');
const context = "php";
function scraper(context){
request('http://www.monsterindia.com/'+context+"-jobs.html", function (error, response, html) {
if (!error && response.statusCode == 200) {
console.log("Request Called");
var $ = cheerio.load(html);
var jobs = [];
var json = {title : "", link:"", description:"", };
$('a.title_in').each(function(i , element){


console.log($(this).attr('title'));

})
}
if(error){
console.log(error);
}

});
}
scraper(context);

最佳答案

您可以使用casperjs图书馆来实现你的目标。这是一个简单的示例,放置在其网站中,使用 Google 搜索引擎搜索单词,然后获取放置在搜索结果第一页中的链接。

var links = [];
var casper = require('casper').create();

function getLinks() {
var links = document.querySelectorAll('h3.r a');
return Array.prototype.map.call(links, function(e) {
return e.getAttribute('href');
});
}

casper.start('http://google.fr/', function() {
// Wait for the page to be loaded
this.waitForSelector('form[action="/search"]');
});

casper.then(function() {
// search for 'casperjs' from google form
this.fill('form[action="/search"]', { q: 'casperjs' }, true);
});

casper.then(function() {
// aggregate results for the 'casperjs' search
links = this.evaluate(getLinks);
// now search for 'phantomjs' by filling the form again
this.fill('form[action="/search"]', { q: 'phantomjs' }, true);
});

casper.then(function() {
// aggregate results for the 'phantomjs' search
links = links.concat(this.evaluate(getLinks));
});

casper.run(function() {
// echo results in some pretty fashion
this.echo(links.length + ' links found:');
this.echo(' - ' + links.join('\n - ')).exit();
});

关于javascript - 使用 Cheerio Nodejs 进行网页抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50067209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com