欢迎您加入有名网站目录: 提交网站流程 -> 注册会员 -> 提交网站 -> 等待审核...
数据统计:120个主题分类,1049个优秀站点,0个站点正在排队审核,1533篇站长资讯
网站快速审核仅需5元/站,付款后请联系QQ:86010419
当前位置:有名网站目录 » 站长资讯 » 站长资讯 » 互联网加 » 文章详细 订阅RssFeed

Selector对象

来源:本站原创 浏览:41次 时间:2018-04-17

从页面中提取数据的核心技术是HTTP文本解析,在Python中常用以下模块处理此类问题:


  ●BeautifulSoup


  BeautifulSoup是非常流行的HTTP解析库,API简洁易用,但解析速度较慢。


  ●lxml


  lxml是一套由C语言编写的xml解析库(libxml2),解析速度更快,API相对复杂。


  Scrapy综合上述两者优点实现了Selector类,它是基于lxml库构建的,并简化了API接口。在Scrapy中使用


  Selector对象提取页面中的数据,使用时先通过XPath或CSS选择器选中页面中要提取的数据,然后进行提取。


  下面详细介绍Selector对象的使用。


  创建对象


  Selector类的实现位于scrapy.selector模块,创建Selector对象时,可将页面的HTML文档字符串传递给Selector构造器方法的text参数:


  >>>fromscrapy.selectorimportSelector


  >>>text='''


  ...<html>


  ...<body>


  ...<h1>HelloWorld</h1>


  ...<h1>HelloScrapy</h1>


  ...<b>Hellopython</b>


  ...<ul>


  ...<li>C++</li>


  ...<li>Java</li>


  ...<li>Python</li>


  ...</ul>


  ...</body>


  ...</html>


  ...'''


  ...


  >>>selector=Selector(text=text)


  <Selectorxpath=Nonedata='<html>\n<body>\n<h1>He'>


  也可以使用一个Response对象构造Selector对象,将其传递给Selector构造器方法的response参数:


  >>>fromscrapy.selectorimportSelector


  >>>fromscrapy.httpimportHtmlResponse


  >>>body='''


  ...<html>


  ...<body>


  ...<h1>HelloWorld</h1>


  ...<h1>HelloScrapy</h1>


  ...<b>Hellopython</b>


  ...<ul>


  ...<li>C++</li>


  ...<li>Java</li>


  ...<li>Python</li>


  ...</ul>


  ...</body>


  ...</html>


  ...'''


  ...


  >>>response=HtmlResponse(url='http://www.hzitxx.com',body=body,encoding='utf8')


  >>>selector=Selector(response=response)


  >>>selector


  <Selectorxpath=Nonedata='<html>\n<body>\n<h1>He'>

http://www.hzitxx.com

http://www.heitxx.com

本文章“有名分类目录http://www.um5.net/”编辑收录

转载请注明-原文链接:Selector对象

推荐站点

Powered by 有名目录 必成网络专业版 官方网站: 必成网络
Processed in 0.118934 second(s), 21 Queries, Gzip Enabled