使用Selector提取数据的方式介绍

@TOC

selector对象

Python中常用以下模块处理HTTP文本解析问题

  • Beautifulsoup
  • lxm

1.创建对象
创建对象时可以调用text参数

from scrapy.selector import Selector
text=’’’

’’’
selector=Selector(text=text)

或者使用一个response对象构造selector是response参数更方便

from     scrapy.selector import Selector
from scrapy.http import HtmlResponse
body=’’’
’’’
response=HtmlResponse(url=’url’,body=body,encoding=’utf8’)
selector=Selector(response=response) 

2.选中数据的方法有两类xpath函数和css函数,css函数的语法相对简单,然而css在调用时内部实际上还是会翻译成xpath,所以掌握xpath就好
3.可以用sel=Selector(response=response)来初始化一个选择器sel然后再使用sel.xpath(’’),也可以直接使用response自带的选择函数response.xpath(’’)

使用简单情形介绍

甚至可以使用字符串函数
xpath(’string(/html/body/a)’).extract()
Out: [‘Click here to go to the Next Page’]
这能够提取到字符串

在xpath选完后,使用extract来释放提取到的东西,形成列表
response.xpath(’’).extract_first() 释放提取到的第一个东西

你可能感兴趣的:(使用Selector提取数据的方式介绍)