Selector对象
从页面中提取数据的核心技术是HTTP文本解析,在Python中常用Beautiful和lxml模块处理此类问题。Scrapy综合上述两者优点实现了Selector类,它是基于lxml库构建的。Selector类的实现位于scrapy.selector
模块。
Selector的使用:
创建对象
创建Selector对象时,有两种方法,一是可将页面的HTML文档字符串传递给Selector构造方法的text参数,,例如:
selector = Selector(text=text)
二是使用一个Response对象构造Selector对象,将其传递给Selector构造器方法的response参数,例如:
response = HtmlRespone(url='http://www.example.com',body=body,encoding='utf-8')
selector = Selector(response=response)
选中数据
调用Selector对象的xpath方法或css方法会返回SelectorList对象,SelectorList支持列表接口,可用for语句迭代访问其中的每一个Selector对象。
selector_list = selector.xpath('//h1')
for sel in selector_list:
print(sel.xpath('./t