விரைவான curl அல்லது Axios பதில் பொதுவாக ஒரு ஆதாரம் மட்டுமே. Puppeteer பல ஹோஸ்ட்களில் இருந்து ஸ்கிரிப்ட்கள், படங்கள், பிரேம்கள் மற்றும் APIகளை எடுத்து, பின்னர் வரும் பக்க மைல்கல்லுக்குக் காத்திருக்கலாம்.

ப்ராக்ஸி ஏற்கனவே இருக்கும் பக்கத்தில் அமைக்கப்பட்டுள்ளதால், வழிசெலுத்தலின் போது தனிப்பட்ட தோல்விகளைக் கவனியுங்கள்:

page.on("requestfailed", request => {
  console.log(request.url(), request.failure()?.errorText);
});

await page.goto(targetUrl, {
  waitUntil: "domcontentloaded",
  timeout: 30000,
});

உண்மையான targetUrl உடன் இதை async பணிப்பாய்வில் இயக்குங்கள். எடுத்துக்காட்டு DOMContentLoaded க்காகக் காத்திருக்கிறது, இது தேவையான ஒவ்வொரு படத்தின் அல்லது பின்னர் வரும் பயன்பாட்டுப் பதிலின் நிறைவைக் காட்டிலும் முன்னதாக நிகழ்கிறது. அந்த மைல்கல்லை அசல் வழிசெலுத்தல் காத்திருந்த மைல்கல்லுடன் ஒப்பிடுங்கள்: பிரதான ஆவணம், DOM, load அல்லது நெட்வொர்க் அமைதி வெவ்வேறு முடிவுகள்.

403 அல்லது 500 பதில் requestfailed நிகழ்வு அல்ல. HTTPResponse மூலமும் நிலையைப் படியுங்கள்.

மெதுவான அல்லது மறுக்கப்பட்ட ஆதாரம், மீண்டும் மீண்டும் அங்கீகாரம் அல்லது பின்னர் வரும் காத்திருப்பு நிபந்தனையைக் கண்டறிய இந்த அவதானிப்புகளைப் பயன்படுத்துங்கள். நீண்ட நேர முடிவு காத்திருப்பை மட்டுமே நீட்டிக்கிறது; அது உலாவியின் வேலையைக் குறைக்காது, ஒவ்வொரு ஆதார இணைப்பும் ஏற்கப்பட்டது என்பதையும் நிரூபிக்காது.

தொடர்புடைய கட்டுரைகள்