Я пытаюсь сделать простой веб-скребок, который будет возвращать простую информацию с сайта (найти информацию покемона из https://pokemondb.net/pokedex/all),, но мой код, похоже, не может найти класс, который находится в HTML-файл.
Я не знаком ни с javascript, ни с jQuery, но из нескольких туториалов, которые я видел, код должен был работать. Я пробовал разные макеты кода, в соответствии с разными туториалами, которые в конечном итоге были одинаковыми и пытались изменить сайт. Кроме того, здесь был какой-то совет по поводу того, что html-файл не был готов, который я изучил, но безрезультатно, возможно, из-за плохого исполнения с моей стороны.
Это мой код:
const cheerio= require('cheerio');
const request= require('node-fetch');
let usersmessage = 'Abra';
var url='https://pokemondb.net/pokedex/all';
console.log('have the url '+ url);
getbody(url)
.then(body=>{
console.log('we have the body');
const $ = cheerio.load(body);
$('.cell-name').each(function(index,element){
const $element=$(element);
console.log('hi'+$element.text());
if($element.text()==usersmessage)
console.log($element.text());
});
console.log('are you feeling it now');
});
console.log('finsihed');
function getbody(url){
return request(url)
then(response=>response.text())
}
Это класс, который я ищу:
<td class="cell-name">
<a class="ent-name" href="/pokedex/abra" title="View pokedex for #063 Abra">Abra</a>
</td>
Я ожидал, что "привет", по крайней мере, появится, и "у нас есть тело", чтобы появиться до конца, хотя я не уверен, имеет ли это отношение к вопросу.