python爬虫--07 Scrapy爬虫数据类型

1 Scrapy爬虫的使用步骤

步骤1:创建一个工程和Spider模板
步骤2:编写Spider
步骤3:编写Item Pipeline
步骤4:优化配置策略

2 Scrapy爬虫的数据类型

2.1 Request类

class scrapy.http.Request()
Request对象表示一个HTTP请求,由Spider生成,由Downloader执行
   属性或方法                |               说明
   .url                     |       Request对应的请求URL地址
   .method                  |       对应的请求方法,'GET' 'POST'等
   .headers                 |       字典类型风格的请求头
   .body                    |       请求内容主体,字符串类型
   .meta                    |       用户添加的扩展信息,在Scrapy内部模块间传递信息使用
   .copy()                  |       复制该请求

2.2 Response类

class scrapy.http.Response()
Response对象表示一个HTTP响应,由Downloader生成,由Spider处理
   属性或方法                |               说明
   .url                     |       Response对应的URL地址
   .status                  |       HTTP状态码,默认是200
   .headers                 |       Response对应的头部信息
   .body                    |       Response对应的内容信息,字符串类型
   .flags                   |       一组标记
   .request                 |       产生Response类型对应的Request对象
   .copy()                  |       复制该响应

2.3 Item类

class scrapy.item.Item()
Item对象表示一个从HTML页面中提取的信息内容,由Spider生成,由Item Pipeline处理
Item类似字典类型,可以按照字典类型操作

3 Scrapy爬虫提取信息的方法

Scrapy爬虫支持多种HTML信息提取方法:
• Beautiful Soup
• lxml
• re
• XPath Selector
• CSS Selector
    <HTML>.css('a::attr(href)').extract()
    CSS Selector由W3C组织维护并规范

4 运行报错

scrapy crawl demo报错

File "e:\program files (x86)\python\lib\site-packages\scrapy\extensions\telnet.py", line 12, in <module>
    from twisted.conch import manhole, telnet
  File "e:\program files (x86)\python\lib\site-packages\twisted\conch\manhole.py", line 241
    def addOutput(self, data, async=False):
                                  ^
SyntaxError: invalid syntax
解决方法:  e:\program files (x86)\python\lib\site-packages\twisted\conch\manhole.py中替换所有async-->async1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值