微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cheerio 有时返回 undefined

如何解决Cheerio 有时返回 undefined

你有没有使用过cheerio来解析html。有时太快会不确定?

我检查了返回未定义的页面获取数据没有问题。因为我有条件检查来自cheerio的解析是否未定义。它将返回cheerio解析的html。它存在。但是cheerio parse 有时会返回undefined。如果我再次重复,有时它会返回未定义的解析?究竟是什么问题?

import fetch from 'node-fetch';
import { load } from 'cheerio';

(async () => {
    const options = {
        headers: {
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/71.0.3578.80 Safari/537.36"
        }
    };

    const response = await fetch('https://hentairead.com/page/1/',options);
    const $ = load(await response.text());

    const totalPage = $('span.pages')
                        .text()
                        .match(/\d{3,}/g)
                        .toString();

    for(let page = 1; page <= totalPage; page++)
    {
        const response = await fetch(`https://hentairead.com/page/${page}/`,options);
        const $ = load(await response.text());

        $('div.item-thumb.c-image-hover > a').each(async (index,item) => {
            const title = item.attribs.title;
            const url = item.attribs.href;

            const response = await fetch(`${url}english/`,options);
            const html = await response.text();

            const $ = load(html);

            const totalPage = $('select#single-pager > option:last-child').attr('value');

            if(totalPage !== undefined){
                console.log(title);
                console.log(totalPage);
            }else{
                console.log(html);
            }
        });
    }
})();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。