[英]Node.js crawler: find a href by text via cheerio
我的節點應用程序從具有請求庫的某個網站獲取HTML代碼。 通過使用jQuery(cheerio),我想找到一個href來聯系部分。 但是然后我只得到未定義的值。
request(options.websiteUrl, (err, response, body) =>{
if(!err && response.statusCode == 200){
let $ = cheerio.load(body);
let contact = $('a:contains("contact")').attr('href');
console.log(contact); //undefined
}
});
我已經將相同的jQuery命令直接粘貼到該網站的JS控制台中,並且工作正常,為我提供了適當的href。 常規jQuery和Cheerio之間有什么區別,使我無法在自己的節點應用程序中執行該代碼,我該如何解決?
看來cheerio沒有等待響應正文javascript完全加載。 您可以將cheerio代碼塊包裝在setTimeout
,以便為身體加載cheerio時間。
您可以在此處看到另一個與此類似的堆棧溢出信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.