Python中使用Scrapy爬虫实现本地存储
前言
这里使用Scrapy
框架,相关资料需自行百度。
注意,使用Scrapy
框架,需要提前下载好第三方库 pip install xxxx
目标:
- 本地安装所需要的各种环境,按照自己需要的安装
- 创建
Scrapy
爬虫项目 - 爬取正确的数据
- 对爬取的数据进行格式转换
- 爬取的数据进行本地存储(存入
txt文件
中)
升级pip到最新版本
1 | python -m pip install --upgrade pip |
安装Scrapy框架所需第三方类库
1 | pip install scrapy |
新建一个目录,并通过命令在该目录下创建一个Scrapy爬虫项目 crawlerDemo
1 | scrapy startproject crawlerDemo |
找到该项目,导入到Pycharm中,表结构如下:
在spiders包下创建一个python文件,并敲入代码
- 我这里在spiders包内新建了一个py文件,myfirst.py,这个py文件名字随便起的,记住接下来代码中的爬虫name就行
- 敲入代码
这串代码,随便爬了一个小说网的某篇小说的其中一章(这篇文章没有记录翻页、下一页)
通过xpath,分析出规则,根据规则对网站数据进行提取(不懂xpath的可以先了解一下)
1 | #coding:utf-8 |
启动Scrapy爬虫项目
爬虫名在前面代码中有标记
name =’test’
Scrapy crawl 爬虫名
1 | scrapy crawl test |
常见异常
无法使用Scrapy命令。
bash: scrapy: command not found
原因:没用配置软连接,先看下/usr/bin路径下是否有Scrapy
文件,没有就配置软连接
软连接配置:1
ln -s /usr/local/python3/bin/scrapy /usr/bin/scrapy
未知命令crawl。
Unknown command: crawl
Use “scrapy” to see available commands
原因:缺少scrapy
配置文件 scrapy.cfg
,创建Scrapy项目时会带着这个scrapy.cfg
文件,创建的路径去找一下
推荐插件
最后,分享几种常用的第三方插件库1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28#1.安装`Scrapy`框架(爬虫服务器安装)
pip install scrapy
#2.安装selenium插件(爬虫服务器安装)
pip install selenium
#3.安装simplejson插件(爬虫服务器安装)
pip install simplejson
#4.把文件第一行python改成python2
vi /usr/bin/yum
#5.跟上面一样修改第一行python改成python2
vi /usrbexec/urlgrabber-ext-down
#6.安装epel
yum -y install epel-release
#7. 安装redis插件
pip install scrapy_redis
#8.安装kafka依赖
pip install kafka-python
#9.安装redis模块
pip install redis
#10.安装DBUtils模块
pip install DBUtils
#11.安装pymysql模块
pip install pymysql
#12.安装schedule调度器模块
pip install schedule
#13.安装requests模块
pip install requests
#14.安装fake_useragent模块
pip install fake_useragent