学过的网络的库:
re 解析服务器响应
urllib.request 获取服务器响应
通过这两个库爬取,效率低
爬取工作:
- 发送请求:框架完成
- 提取要用的数据:自己完成。 用正则表达式获取html文档效率低,用xpath获取/或者css
- 识别响应中的链接信息。 用正则效率低,xpath效率高
- 多线程管理:框架完成
所以不用re 和urllib库,而用框架scrapy
新建的scrapy项目
包含的py文件:
- items:数据传输对象,定义N个属性
- pipelines:处理爬取到的信息
- setting:配置文件
- spider文件夹: 存放蜘蛛
scrapy组件:
- 调度器
- 下载器
- 蜘蛛,自己实现,负责提取有效信息,以item对象给pipeline
- pipeline,自己实现,负责接收item对象,写入文件或者数据库