Scrapy 抓取数据入门操作

一、安装python

www.python.org/ 官网下载对应自己系统的安装包

二、安装scrapy

CMD命令提示符中输入安装命令:

pip install scrapy

安装过程中如有错误会有相应提示,按照提示补充或升级安装程序即可。

最后使用scrapy命令测试安装是否成功。

 

三、安装pycharm

https://www.jetbrains.com/pycharm/download/#section=windows

在官网中下载Community版本(免费使用版本)

 

四、创建scrapy项目

CMD命令提示符中,切换到需要创建项目的文件夹,使用一下命令创建新项目

scrapy startproject MyScrapyPrpject

 

spiders目录中使用scrapy genspider myspider my.com创建爬虫

其中myspider是爬虫名称

my.com代表爬虫的作用域,之后需要根据自己实际爬取得网页进行修改

使用pycharm 打开创建好的项目得到如下所示目录:

 

它们的作用分别是:

 

items.py:定义爬虫程序的数据模型

middlewares.py:定义数据模型中的中间件

pipelines.py:管道文件,负责对爬虫返回数据的处理

settings.py:爬虫程序设置,主要是一些优先级设置,优先级越高,值越小

scrapy.cfg:内容为scrapy的基础配置

 

值得注意的是,在学习阶段,我们要明白几点设置文件setting中的几处配置代码,它们影响着我们的爬虫的效率:

ROBOTSTXT_OBEY = True

这行代码意思是:是否遵守爬虫协议,学习阶段我们要改为False

SPIDER_MIDDLEWARES = {

'wxz.middlewares.WxzSpiderMiddleware': 800,

 

}

这里的数值越低,速度越快

 

五、爬取数据操作

1.修改items.py文件

 

2.修改myspider.py文件

 

3.执行爬虫命令scrapy crawl myspider

进行相应的爬取调试

六、保存数据文件

scrapy保存信息的最简单的方法主要有四种,-o 输出指定格式的文件,命令如下:

scrapy crawl itcast -o teachers.json

json lines格式,默认为Unicode编码

scrapy crawl itcast -o teachers.jsonl

csv 逗号表达式,可用Excel打开

scrapy crawl itcast -o teachers.csv

xml格式

scrapy crawl itcast -o teachers.xml

 

 

保存数据出现乱码的解决方法:

保存json和txt文件,出现这种东西不是乱码,是unicode,例如:

\u96a8\u6642\u66f4\u65b0> \u25a0\u25a0\u25a

settings.py文件中加入下面一句code,之后就是中文了。

FEED_EXPORT_ENCODING ='utf-8'

 

保存csv表格文件时,会出现中文乱码,这个确实是乱码,例如:

瀵掑啲瀹濈彔鎶勮鎴愬姛 鐖嗗彂浼ゅ 40涓?寮€蹇冧竴涓?

settings.py文件中加入下面一句code,表格就是中文了

FEED_EXPORT_ENCODING = 'gb18030'

posted @ 2021-04-17 15:32  杨伟明  阅读(274)  评论(0编辑  收藏  举报