Mình tính viết một chương trình tải chương truyện, mình test trên một số chương thì hoàn toàn thành công, nhưng chương mình nhập ở dưới thì bị dính lỗi 522.
const puppeteer = require('puppeteer')
const downloader = require('image-downloader')
const fs = require('fs')
async function GetImagesFromChapterPage(urlChapter, page){
await page.goto(urlChapter, {waitUntil: 'domcontentloaded'})
let images = await page.evaluate(() => {
const elementImages = Array.from(document.querySelectorAll('.reading-detail .page-chapter img'))
return elementImages.map(chapter => chapter.getAttribute('src'))
})
images = images.map(image => image.replace('//', 'https://'))
return images
}
async function ChapterDownloader(urlChapter, path, page) {
const images = await GetImagesFromChapterPage(urlChapter, page)
for (image of images) {
downloader.image({
headers: {
Referer: 'http://www.nettruyentop.com/'
},
url: image,
dest: path
})
.catch(err => {
console.log(err)
})
}
}
async function main(){
const browser = await puppeteer.launch({ headless: false, executablePath: './build/chromium/win64-884014/chrome-win/chrome.exe' })
const page = await browser.newPage()
await page.setDefaultNavigationTimeout(0)
if(!fs.existsSync('./result')){
fs.mkdirSync('./result')
}
ChapterDownloader('http://www.nettruyentop.com/truyen-tranh/toi-da-chuyen-sinh-thanh-slime/chap-3/197180', './result', page)
}
main()
Sau đó mình kiểm tra link ảnh của chương truyện và thử tải riêng ra thì vẫn tải được.
Không biết có cách nào khắc phục không và giải thích cho mình biết tại sao lại bị lỗi không?