照例 先贴上代码
下面是爬虫的代码
exports.search = function(req,res){
var keyname = req.params.keyname
var host = ‘so.37zw.com/cse/search’
// var url = Analyse.formatUrl(keyname,host)
request
.get(host)
.query(‘q=’ + querystring.stringify(keyname))
.query(‘click=1’)
.query(‘s=2041213923836881982’)
.query(‘nsid=’)
.charset(‘utf-8’)
.end(function(err,rep){
// console.log(‘正在爬取’+url)
console.log(rep.header)
var books = Analyse.analyseSearch(rep.text)
var timeStamp = Date.now()
var newPath = path.join(__dirname,’…/…/’,’/public/logs/’ + timeStamp +’.txt’)
console.log(rep.req)
fs.writeFile(newPath,JSON.stringify(rep),function(err){
res.render(‘story/search’,{
title : ‘搜索结果’+ ‘–星门’,
books : books
})
})
})
.on(‘error’,function(err){
console.log(err)
})
}
下面是分析网页的代码,我觉得这段是没有问题的,是上面AnalyseSearch()方法
exports.analyseSearch = function(html){
var $ = cheerio.load(html)
console.log()
var lists = $(’.result-list .result-item’)
var books = []
var storynumber = [‘玄幻小说’,‘修真小说’,‘都市小说’,‘穿越小说’,‘网游小说’,‘科幻小说’]
lists.map(function(i,el){
var item = $(this)
var image = item.find(’.result-game-item-pic a img’).attr(‘src’).trim()
var storyname = item.find(’.result-game-item-pic a img’).attr(‘alt’).trim()
var author = item.find(’.result-game-item-detail .result-game-item-info p:first-child span:last-child’).text().trim()
var link = item.find(’.result-game-item-detail h3 a’).attr(‘href’).trim()
var summary = item.find(’.result-game-item-detail .result-game-item-desc’).text().trim()
var number = parseInt(link.substring(20,21))
var lastchapter = item.find(’.result-game-item-detail .result-game-item-info p:last-child a’).text().trim()
var categoryname = storynumber[number]
var monthrecommend = Math.floor(Math.random()*100000+ 1)
var monthclick = Math.floor(Math.random()*100000+ 1)
var allrecommend = Math.floor(Math.random()*100000+ 1)
var allclick = Math.floor(Math.random()*100000+ 1)
var allcollection = Math.floor(Math.random()*100000+ 1)
var commentsnumber = Math.floor(Math.random()*100000+ 1)
var storyData = {
number : number,
categoryname : categoryname,
storyname : storyname,
author : author,
image : image,
link : link,
summary : summary,
monthrecommend : monthrecommend,
monthclick : monthclick,
allrecommend : (allrecommend + 12 * monthrecommend),
allclick : (allclick + 12 * monthclick),
allcollection : Math.floor(((allcollection - allclick) > 0 ? allcollection : (allclick * 0.1))),
commentsnumber : Math.floor(((commentsnumber - allclick) > 0 ? allcollection : (allclick * 0.2))),
lastchapter : lastchapter
};
books.push(storyData)
})
return books
}
下面简述问题。
简单的来说就是,能够成功返回一切东西。
但是,有个但是,我要查询到关键词并不是我要找的关键词,下面贴两张图来说明。
我想要的结果是
结果出来的是
我想问的是,我在爬虫的时候所用的url和搜索时的url是一致的,为什么获得的结果不一致呢?
会不会是我用querystring的时候转码转的有问题?我觉得不应该是。。。。。
希望明天能得到好结果!~~
又是我~~~一个关于进行爬虫的时候 做搜索 的时候的问题