簡體   English   中英

使用npm cheerio和and請求動態網頁抓取

[英]Dynamic web page scraping with npm cheerio and and request

我正在嘗試從具有基本URL以及動態路由的網站上抓取數據。 這個特定的站點僅使用數字,因此我有以下代碼來獲取數據:

 for (var i = 1; i <= total; i++) { var temp = base_url + i; var result = ""; request(temp, function(error, response, body) { var $ = cheerio.load(body); var address_string = 'http://maps.google.com/?q=' + $('title').text(); //firebase database.ref('events/' + i).set({ "address": address_string }); }); } 

但是,以上代碼不起作用,也不會向數據庫添加任何內容。 有人知道怎么了嗎?

我不確定原因,但在您編寫的代碼中會有奇怪的表現的一件事是變量i未綁定到請求的回調范圍,並且for循環將在調用任何回調之前完成。

如果這是問題所在,則i === total只能有一個db條目。

這可以通過執行Array.forEach來解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM