如何使用Scrapy通过类名获取指定HTML元素内的目标文本
Scrapy 类名匹配提取文本方案
你可以通过CSS选择器或XPath选择器,先匹配类名为col-md-8的div节点,再逐层向下定位提取目标文本,两种实现方式如下:
- CSS选择器写法
# 提取到的结果就是"Quotes to Scrape" target_text = response.css('div.col-md-8 h1 a::text').get()
说明:div.col-md-8直接匹配类为col-md-8的div元素,::text是Scrapy CSS选择器的专属语法,用于提取节点的文本内容,get()方法返回首个匹配到的结果。
- XPath选择器写法
target_text = response.xpath('//div[@class="col-md-8"]/h1/a/text()').get()
说明:通过@class="col-md-8"筛选指定类名的div节点,text()用于提取节点文本,get()取第一条匹配结果。
如果页面中存在多个col-md-8类的div元素,你可以使用getall()方法获取所有匹配结果后再做筛选,或者补充其他定位条件缩小匹配范围。
内容的提问来源于stack exchange,提问作者Johnny
相关产品推荐
相关产品推荐

