gpt4 book ai didi

xpath - Scrapy:在Xpath中处理Abbr标签的问题

转载 作者:行者123 更新时间:2023-12-03 16:52:56 24 4
gpt4 key购买 nike

我对Scrapy有点陌生,我在处理abbr标签(或者更确切地说,我认为问题在于处理)时遇到了问题,但是我不确定100%正确。

我正在尝试从以下html中获取缩写名称:

<div class="meta">
Post by: <a href="index.php?members/18862/" class="username" dir="auto">Eric</a>,
<abbr title="Feb 13, 2016 at 1:45 PM" class="DateTime" data-time="1455389113" data-diff="3240" data-datestring="Feb 13, 2016" data-timestring="1:45 PM">54 minutes ago</abbr>
in forum: <a href="index.php?forums/154/">Forum Games</a>
</div>


我在这里处理的问题是当我对蜘蛛使用以下代码时:

def parse(self, response):
for sel in response.xpath('//h3[@class="title"]'):
item = ZqItem()
item['user'] = sel.xpath('../../div[@class="meta"]/a[@class="username"]/text()').extract()
item['date'] = sel.xpath('../../div[@class="meta"]/abbr[@class="DateTime"]/@title').extract()

yield item


我无法获取日期(在Powershell中,草率地返回'date':[])。但是,用户返回的很好,让我认为这可能是abbr标签给我带来了问题。

另外,我尝试在不同但相似的html片段上使用我的代码,该片段的跨度代替了abbr,并且可以正常工作(成功返回标题)。 (但是请记住,html中还有其他一些不同之处,也许这是问题的原因吗?)

<div class="meta">
Post by: <a href="index.php?members/18862/" class="username" dir="auto">Eric</a>,
<span class="DateTime" title="Feb 4, 2016 at 9:37 AM">Feb 4, 2016</span>
in forum: <a href="index.php?forums/8/">General</a>
</div>


与蜘蛛一样:

def parse(self, response):
for sel in response.xpath('//h3[@class="title"]'):
item = ZqItem()
item['user'] = sel.xpath('../../div[@class="meta"]/a[@class="username"]/text()').extract()
item['date'] = sel.xpath('../../div[@class="meta"]/span[@class="DateTime"]/@title').extract()

yield item


谁能在这个问题上发表一些看法?谢谢!

最佳答案

假设日期不是使用javascript动态生成的。
您可以这样做:

def parse(self, response):
for sel in response.xpath('//div[@class="meta"]/a[@class="username"]'):

date = sel.xpath('../span[@class="DateTime"]/@title').extract()
date += sel.xpath('../abbr[@class="DateTime"]/@title').extract()

item = ZqItem()
item['user'] = sel.xpath('./text()').extract()
item['date'] = date

yield item

关于xpath - Scrapy:在Xpath中处理Abbr标签的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35384669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com