Scrapy CSS选择器无法提取全部文章内容,求正确选择器方案
解决UPI新闻页面正文提取问题
针对你的需求,推荐使用以下CSS选择器获取完整正文:
[itemprop='articleBody'] ::text:这个选择器会匹配articleBody元素下所有后代的文本节点(包括元素自身的文本,若存在),相比你之前用的[itemprop='articleBody'] *::text,它不会遗漏父元素直接包含的文本内容。[itemprop='articleBody'] p::text:如果正文仅包含在<p>标签内,这个更精确的选择器可以直接提取所有段落文本。
若CSS选择器仍有问题,也可以尝试Scrapy的XPath选择器:
//*[@itemprop='articleBody']//text(),同样能抓取所有正文文本节点。验证方式:在Scrapy shell中测试选择器,比如:
scrapy shell "https://www.upi.com/Top_News/World-News/2023/01/01/N-Koerean-leader-calls-exponential-increase-nuclear-arsenal/4171672578401/" response.css('[itemprop="articleBody"] ::text').getall()该命令会返回所有匹配的文本片段,你可以将其拼接成完整正文。
内容的提问来源于stack exchange,提问作者Umair Ayub
相关产品推荐
相关产品推荐

