在Scrapy中,可以使用XPath或CSS选择器来获取带有内部标记的文本作为字符串。
使用XPath获取带有内部标记的文本作为字符串的步骤如下:
scrapy
库和Selector
类:import scrapy
from scrapy.selector import Selector
Selector
类的xpath()
方法来选择带有内部标记的文本:def parse(self, response):
# 使用XPath选择器选择带有内部标记的文本
text_with_tags = response.xpath('//div[@class="my-class"]/p').extract_first()
# 进一步处理带有内部标记的文本
# ...
在上述代码中,//div[@class="my-class"]/p
是XPath表达式,用于选择具有class
属性为my-class
的div
元素下的p
元素。
def parse(self, response):
# 使用XPath选择器选择带有内部标记的文本
text_with_tags = response.xpath('//div[@class="my-class"]/p').extract_first()
# 去除标签,提取纯文本内容
text_without_tags = Selector(text=text_with_tags).xpath('//text()').extract()
# 将纯文本内容作为字符串获取
text_as_string = ''.join(text_without_tags).strip()
# 打印结果
print(text_as_string)
在上述代码中,Selector(text=text_with_tags)
创建了一个新的选择器对象,用于处理带有内部标记的文本。然后,使用xpath('//text()')
选择所有文本节点,再使用extract()
方法提取文本内容。最后,使用''.join(text_without_tags).strip()
将文本内容连接为字符串,并去除首尾的空白字符。
通过以上步骤,你可以在Scrapy中将带有内部标记的文本作为字符串获取。
请注意,以上代码仅为示例,实际使用时需要根据具体的HTML结构和需求进行调整。另外,Scrapy还支持使用CSS选择器来选择元素,使用方法类似。
领取专属 10元无门槛券
手把手带您无忧上云