为什么scrapy作为开发工具会返回一个与time html标签不同的日期?

6gpjuf90  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(78)

我查询了html节点,其中存储了一篇文章的日期。我注意到,在抓取站点时,datetime属性中的日期与节点内的文本不同。在Google Chrome的开发工具中,datetime属性与显示的文本相同。我的问题是,为什么Scrapy会得到一个与开发工具不同的日期时间属性?2我能从日期时间属性中得到正确的日期吗?
下面是代码和返回值:

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>']

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

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

dtcbnfnu1#

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

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

相关问题