gpt4 book ai didi

python - 无法让 Scrapy 返回 Div 中的文本

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:38 26 4
gpt4 key购买 nike

我无法让 scrapy 返回该 div 的文本。当它确实返回数据时,它比我想象的要返回的数据要多得多。

目标 HTML:

<div class="DivTimeSpan" title="Full Time">12:00 PM - 09:00 PM </div>

尝试1:

    def parse_schedule(self, response):
s_item = ScheduleItem()

for sel in response.xpath("//div[@class='DivTimeSpan']"):
s_item['schedule'] = sel.select('//text()').extract()
return s_item

返回:

"\r\n\r\n ", "\r\n ", "\r\n \r\n\r\n var allowedUrls = [];\r\n allowedUrls.push(\"Login.net\");\r\n allowedUrls.push(\"Login\");\r\n allowedUrls.push(\"AccountLogin.net\");\r\n allowedUrls.push(\"AccountLogin\");\r\n allowedUrls.push(\"CreateAccount\");\r\n allowedUrls.push(\"CreateAccount.net\");\r\n allowedUrls.push(\"UpdateAccount\");\r\n allowedUrls.push(\"UpdateAccount.net\");\r\n allowedUrls.push(\"CreateResellersAccount\");\r\n allowedUrls.push(\"CreateResellersAccount.net\");\r\n allowedUrls.push(\"CreateQqestSAASAccount\");\r\n
"11:00 AM - 09:00 PM", "12:00 PM - 09:00 PM", "12:00 PM - 09:00 PM", "12:00 PM - 09:00 PM", "12:00 PM - 09:00 PM"

整个文件可能有数千行长,并且包含看起来像我指定的 div 外部的文本

我理解//text() 返回元素及其子元素的文本。我定位的 html 元素没有任何子元素,所以我假设它只会返回 div 中的数据。

接下来我尝试只使用“/text()”。这是唯一的变化

尝试2:

    for sel in response.xpath("//div[@class='DivTimeSpan']"):
s_item['schedule'] = sel.select('/text()').extract()
return s_item

返回:

[{"schedule": []}]

期望的结果:

[{"schedule": ["11:00 AM - 09:00 PM", "12:00 PM - 09:00 PM", "12:00 PM - 09:00 PM", "12:00 PM - 09:00 PM", "12:00 PM - 09:00 PM"]}]

我正在抓取的网址位于公司登录信息后面,因此我无法给出实际的网址。

以利沙的帖子引导我走向正确的方向,谢谢!!! :)答案:

for sel in response.xpath("//div[@class='DivTimeSpan']"):
s_item['schedule'] = map(unicode.strip, sel.select('//div/text()').extract())
return s_item

最佳答案

第二次尝试更接近提取值。然而,您需要从节点中提取文本,而不是从文档根中提取文本:

s_item['schedule'] = sel.select('/div/text()').extract()[0]

如果文档包含更多标签(不是div),您可以尝试:

s_item['schedule'] = sel.select('//div/text()').extract()[0]

关于python - 无法让 Scrapy 返回 Div 中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36087792/

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