python爬虫--07 Scrapy爬虫数据类型
程序员文章站
2022-07-10 13:57:57
...
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
上一篇: python爬虫--10 网易云音乐
下一篇: 剑指offer30. 包含min函数的栈