DOM 页面中的网页抓取 Node.js
Web Scraping Node.js in DOM page
我想使用 Node.js 从 site 获取信息
我这么努力,and̶g̶o̶t̶̶s̶o̶̶f̶a̶r̶。所以,我想得到一个磁铁 URI link,这个 link 在:
<div id="download">
<a href=magnet:?xt=urn:btih:335fc3d9d870109a8dd0e87765a9210754dd8fac&dn=rutor.org_%D0%90%D1%84%D0%B5%D1%80%D0%B0+%D0%BF%D0%BE-%D0%B0%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8+%2F+Trespass+Against+Us+%282016%29+HDRip+%D0%BE%D1%82+MegaPeer+%7C+P&tr=udp://opentor.org:2710&tr=udp://opentor.org:2710&tr=retracker.local/announce"><img src="/parse/s.rutor.org/i/magnet.gif"></a>
如何使用 cheerio 从 div 和 href 字段中获取此 link。我不会jQuery,我只想写一个解析器。
这是我的尝试:
const request = require('request');
const cheerio = require('cheerio');
request('http://s.new-rutor.org/torrent/562496/povorot-ne-tuda-5-krovnoe-rodstvo_wrong-turn-5-bloodlines-2012-bdrip-avc-p/', function(err, resp, body) {
if (!err){
const $ = cheerio.load(body);
var magnet = $('.href', '#downloads').text()
// $('#downloads').find('href').text()
console.log(magnet);
}
});
该代码仅在控制台中出现空位
注意:我使用的是 request-promise 而不是请求
此代码 console.logs 所有 a-tags 的 href 包含 'magnet'
const request = require('request-promise');
const cheerio = require('cheerio');
request('http://s.new-rutor.org/torrent/562496/povorot-ne-tuda-5-krovnoe-rodstvo_wrong-turn-5-bloodlines-2012-bdrip-avc-p/').then(res => {
const $ = cheerio.load(res)
const links = $('a')
links.each(i => {
const link = links.eq(i).attr('href')
if (link && link.includes('magnet')) {
console.log(link)
}
})
})
eq 从该索引
中选择一个特定的 link
links.each(i => links.eq(i))
然后我们用
抓取属性href(磁铁link)里面的内容
links.eq(i).attr('href')
我想使用 Node.js 从 site 获取信息 我这么努力,and̶g̶o̶t̶̶s̶o̶̶f̶a̶r̶。所以,我想得到一个磁铁 URI link,这个 link 在:
<div id="download">
<a href=magnet:?xt=urn:btih:335fc3d9d870109a8dd0e87765a9210754dd8fac&dn=rutor.org_%D0%90%D1%84%D0%B5%D1%80%D0%B0+%D0%BF%D0%BE-%D0%B0%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8+%2F+Trespass+Against+Us+%282016%29+HDRip+%D0%BE%D1%82+MegaPeer+%7C+P&tr=udp://opentor.org:2710&tr=udp://opentor.org:2710&tr=retracker.local/announce"><img src="/parse/s.rutor.org/i/magnet.gif"></a>
如何使用 cheerio 从 div 和 href 字段中获取此 link。我不会jQuery,我只想写一个解析器。
这是我的尝试:
const request = require('request');
const cheerio = require('cheerio');
request('http://s.new-rutor.org/torrent/562496/povorot-ne-tuda-5-krovnoe-rodstvo_wrong-turn-5-bloodlines-2012-bdrip-avc-p/', function(err, resp, body) {
if (!err){
const $ = cheerio.load(body);
var magnet = $('.href', '#downloads').text()
// $('#downloads').find('href').text()
console.log(magnet);
}
});
该代码仅在控制台中出现空位
注意:我使用的是 request-promise 而不是请求
此代码 console.logs 所有 a-tags 的 href 包含 'magnet'
const request = require('request-promise');
const cheerio = require('cheerio');
request('http://s.new-rutor.org/torrent/562496/povorot-ne-tuda-5-krovnoe-rodstvo_wrong-turn-5-bloodlines-2012-bdrip-avc-p/').then(res => {
const $ = cheerio.load(res)
const links = $('a')
links.each(i => {
const link = links.eq(i).attr('href')
if (link && link.includes('magnet')) {
console.log(link)
}
})
})
eq 从该索引
中选择一个特定的 linklinks.each(i => links.eq(i))
然后我们用
抓取属性href(磁铁link)里面的内容links.eq(i).attr('href')