我试图从一个项目中的以下XML标记中提取img src
我在呼叫cheerio.像这样加载我的响应数据
const $ = cheerio.load(response.data, { xmlMode: true });
$("item").each((i, item) => {
我在item中遇到了这个特定的标记,我想从中提取img src
<figure class="wp-block-image size-large">
<img decoding="async" loading="lazy" width="800" height="572" src="http://wmcmuaythai.org/wp-content/uploads/2023/04/WhatsApp-Image-2023-04-07-at-3.18.13-PM-2-800x572.jpeg" alt="" class="wp-image-43535" srcset="http://wmcmuaythai.org/wp-content/uploads/2023/04/WhatsApp-Image-2023-04-07-at-3.18.13-PM-2-800x572.jpeg 800w, http://wmcmuaythai.org/wp-content/uploads/2023/04/WhatsApp-Image-2023-04-07-at-3.18.13-PM-2-350x250.jpeg 350w, http://wmcmuaythai.org/wp-content/uploads/2023/04/WhatsApp-Image-2023-04-07-at-3.18.13-PM-2-768x549.jpeg 768w, http://wmcmuaythai.org/wp-content/uploads/2023/04/WhatsApp-Image-2023-04-07-at-3.18.13-PM-2.jpeg 1024w" sizes="(max-width: 800px) 100vw, 800px" />
</figure>
我已经尝试了以下cheerio查询,要么继续得到未定义或不是我想要的。
$(item).find("figure").find("img").attr("src")
$(item).find("img").attr("src")
$(item).find("figure").children().find("img").attr("src")
$(item).find("figure").first().find("img").attr("src")
这是我试图从中提取图的RSS提要
http://wmcmuaythai.org/feed/
2条答案
按热度按时间vlju58qv1#
我对XML不是很熟悉,但是您想要的标记看起来像是在CDATA中。我通过将CDATA文本加载到Cheerio中,然后遍历内部结构来执行had success in the past。
您可能希望取消展平贴图以保持分组,具体取决于预期的结果。
m3eecexj2#
您可以使用
$("img", item)
选择器在item元素中查找img标记,然后使用.attr("src")