scrapy使用xpath的extract()和extract_first()的区别

在使用scrapy爬虫的时候,我们常常使用xpath来获取html标签,但是我们经常会用到提取的方法,有两种提取的方法,分别是:

extract():这个方法返回的是一个数组list,,里面包含了多个string,如果只有一个string,则返回['ABC']这样的形式。

extract_first():这个方法返回的是一个string字符串,是list数组里面的第一个字符串。

Xpath选择器:
response.selector属性返回内容相当于response的body构造了一个Selector对象。
Selector对象可以调用xpath()方法实现信息的解析提取。
在xpath()后使用extract()可以返回所有的元素结果。
若xpath()有问题,那么extract()会返回一个空列表。
在xpath()后使用extract_first()可以返回第一个元素结果。
 

for v in dllist:
     print(v.xpath("./dt/text()").extract_first())
     print("="*50)
     alist = v.xpath(".//a")
     for a in alist:
             print(a.xpath("./@href").extract_first(),end=":")
             print(a.xpath("./span/img/@alt").extract_first())

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章