为什么scrapy会返回一个不同于时间html标记的日期作为开发工具



我查询了存储文章日期的html节点。在抓取网站时,我注意到datetime属性中的日期与节点内的文本不同。在Google Chrome的开发工具中,日期时间属性与显示的文本相同。我的问题是,为什么scratch在开发工具中使用了不同的日期时间属性?我能从datetime属性中得到正确的日期吗?

这是代码和返回值:

response.xpath("//*[@class='a20-news-date']/time").getall()
['<time datetime="2021-11-15T08:17:20+01:00">Sonntag, 08.03.2020 // 17:20 Uhr</time>']

谷歌的开发工具将节点显示为:

<div class="a20-news-date">
<time datetime="2020-03-08T17:20:16+01:00">8. März 2020</time>
</div>

因为如果检查HTML源代码(Ctrl+U(,您会发现页面中有几个<time>元素。您在开发工具中看到的是Javascript执行后的结果DOM。您的目标元素位于源HTML:中的<article>标记内

response.xpath("//article//time/text()").get()

最新更新