Я недавно установил веб-скребок, используя cheerio и Node.js. Я пытаюсь получить миниатюрный объект, подобный этому:
//mainscrape = function() {
//Now to configure the routes
router.get("/scrape", function(req, res, next) {
//instead of simple res.render, user router.get
console.log("scraping started...");
//Grab the html body with axios
axios.get("url goes here").then(function(response) {
//Load to cheerio and save to $ selector
console.log("Scraping...");
var $ = cheerio.load(response.data);
var output = [];
var promises = [];
//Now we need to grab the title reference for each article
$("article").each(function(i, element) {
//save empty result object
var result = {};
//thumbnail
result.thumbnail = $(this)
.children("figure.product-item-thumbnail")
.children("a")
.children("div.replaced-image.ratio-1-1")
.children("img")
.attr("src")
console.log(result.thumbnail)
var result = {}
//details
result.detail= $(this)
.children("div.product-item-details")
.text()
result.detail = result.detail.trim();
console.log(result.detail)
У меня есть проблемы только с миниатюрой. Он регистрируется в терминале и показывает URL-адрес изображения, как и ожидалось:
URL-адрес изображения возвращается
Однако он определен как «неопределенный» и никогда не обновляется в базе данных. :
Тот же URL-адрес, что и неопределенный
Почему это происходит, даже если URL-адрес изображения зарегистрирован? Есть ли способы обойти это?
Заранее благодарю за любую помощь.