scrapy 入门–爬取百度新闻排行榜
环境要求:python2/3(anaconda)
scrapy库
开发环境:sublime text + windows cmd
- 下载scrapy(需要python支持)
- 初始化项目
- 添加一个新的spider
- 实现parse函数
- 其他骚操作
在没接触到scrapy之前,我爬虫用的request库去获取HTML然后用正则去匹配出需要的内容,之后可以再按照自己的需要导出成json文件。也尝试过一些模拟登陆的操作
request请求HTML --> 正则解析内容 --> 导出Json
现在scrapy框架已经帮你封装好实现了功能性的代码,只要关注于你要做什么要什么
spider类填写url —> 实现parse函数 --> item pipeline导出数据
接下来我一 一来介绍如何快速上手去爬取百度新闻排行榜
下载scrapy(需要python支持)
我用的用的anaconda来搭建的python2的环境
然后命令行直接输入pip install scrapy等待一段时间久安装好了,如果遇到问题可以百度尝试解决
初始化项目
scrapy startproject 项目名
cd 项目名
生成一个新的scrapy项目
E:.
│ scrapy.cfg
│
└─baidutop
│ items.py 数据模型化对象
│ middlewares.py 中间件
│ pipelines.py 数据获取后的item通道,用于数据对象的处理
│ settings.py 当前爬虫的设置文件
│ __init__.py
│
└─spiders
__init__.py
添加一个新的spider
scrapy genspider BaiBuTop baidu.com 这里以baidutop名为例子
这一步会在spiders文件下产生一个BaiBuTop 的spider文件
你需要做的就是填写url和需要爬取的内容
值得一说的是scrapy采用的是Xpath和css选择器语言,构建于 lxml 库之上,
而这个库是一个基于 ElementTree的python化的XML解析库,(也可以解析