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
发布了108 篇原创文章 · 获赞 7 · 访问量 5190

猜你喜欢

转载自blog.csdn.net/qq_25672165/article/details/104906524