已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
2天前关闭。
Improve this question
我需要先显示整个webiste的图像,我已经得到了在网站上的所有锚标签的hrefs,并试图加载标签的图像,但由于一些循环错误而失败。结果是显示,但不根据网站中的图像
loginrouter.get('/images',(req,res)=>{
var WriteStream = fs.createWriteStream("ImagesLink.txt", "UTF-8");
request('https://nu.edu.pk/', (err, resp, html)=>{
if(!err && resp.statusCode == 200){
console.log("Request was success ");
const $ = cherio.load(html);
$("a").each((index, datalinks)=>{
var Links=[];
var anch = $(datalinks).attr('href');
var baseUrl = 'https://nu.edu.pk';
Links= baseUrl+ anch;
Array.of(Links).forEach(Links => {
request(Links, (err, resp, html1)=>{
console.log("Links areeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/////////////////////////",Links)
$("img").each((index2, imglinks) => {
var img2 = $(imglinks).attr('src');
var url='https://nu.edu.pk';
const Links2=url+ img2;
console.log(Links2)
})
})
});
});
}
else{
console.log("Request Failed ");
}
});
})
2条答案
按热度按时间wtzytmuj1#
对于抓取,我认为最好使用无头浏览器,如puppeteer。一些网站阻止 AJAX 请求。
下面是一个如何使用 puppet 师做你想要的例子。
1.获取所有a-tag和相应的href
1.转到您检索到的每个链接,并获得所有的图像链接
igetnqfo2#
下面的代码可以正常工作,但存在一些问题
1.硬编码.jpg扩展名
1.它不处理循环链接。
1.它将在无效链路上崩溃
1.你将需要异步等待或承诺代码。
1.您必须添加额外的逻辑来清理URL
如果你运行下面的代码,它会在一段时间后中断。