今天开始研究py这里写代码片`thon scrapy 框架,人生苦短,及时钻研
- 安装python
- 安装scrapy:pip install Scrapy
- 安装scrapyd-client:pip install Sscrapyd
开发工具用pyCharm
使用pycharm 直接debug 程式需要安装pywin32,否则无法调试
pywin32 安装
https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/
环境工作基本完成,开始Scrapy 之旅
Scrapy 框架结构
新建Scrapy 项目
CMD 进入需要创建Scrapy的文件路径,新建tutorial项目
scrapy startproject tutorial
完成之后如下
具体代码实现:
完成item
完成spider
说明; csdn 是spider的名称,start_urls 是开始爬取的url 列表,parse 是callback
function,爬取结束之后呼叫处理爬取结果,这里引入BeautifulSoup解析html
https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
这里需要注意parse中返回的request会自动加入爬取列表,并且可以通过meta传递参数
完成Pipeline
这里实现两个pipeline,每个pipeline 需要实现对应的process_item方法
pipeline 会对每一个item 进行处理
pipeline 执行顺序在settings.py文件中配置,后续会提到
MongoPipeline 引入mongoDB,mongodb 配置也在settings 文件中
pip install pymongo
settings 文件
部署爬虫
cmd 进入project 所在文件,启动scrapyd,出现下列信息说明scrapyd 启动成功
打开http://localhost:6800 看到如下画面:
修改scrapy.cfg文件如下,注意Myploy
部署project,用scrapyd-deploy 命令
启动schedule
需要安装curl 命令,CMD 进入项目所在文件夹路径,执行下列命令
具体命令说明scrapyd
http://scrapyd.readthedocs.io/en/stable/
可以看到job 的执行情况
还有下列问题需要研究解决;
1.Middleware 的使用
2.研究分布式爬虫方法
3.定时爬虫
4.爬虫webservice(之前通过JSON-RPC对象一直不能成功,郁闷)