为什么使用树莓派搭建自己的爬虫服务器?
- 树莓派使用Linux操作系统,完美支持爬虫框架Scrapy所需要的环境
- 爬虫需要长期运行,笔记本电脑可能会随时关闭
- 树莓派功耗极低,就像路由器一样打开就不用管了
准备好硬件
- 树莓派3B+
- 亚克力外壳,散热片,风扇
- 16G Micro-SD 卡
- 5V Micro USB 电源
- HDMI显示器
- USB键盘鼠标
先安装散热片
在固定到底板上,一共有四个螺丝
查SD卡的那一侧先不安装
固定好风扇
完成!
准备好刷卡环境
- 一台 Windows 10, Mac 或 Linux 电脑
- Micro-SD卡 读写器
下载软件
- Ubuntu Server
- 网址 https://www.ubuntu.com/download/iot/raspberry-pi-2-3
- 下载 树莓派3 对应的文件 http://cdimage.ubuntu.com/releases/bionic/release/ubuntu-18.04.2-preinstalled-server-arm64+raspi3.img.xz
- 目前(2019年5月)版本是 18.04.2
- Etcher 刷卡工具
- 网址 https://www.balena.io/etcher/
-
有各种系统的版本,Windows/MacOS/Linux
写入SD卡
-
使用Etcher 将下载好的镜像文件刷入SD卡
启动树莓派
- 连接 HDMI显示器, 鼠标键盘
- 插入SD卡
- 连接USB电源
-
第一次启动,用户名与密码都是ubuntu ,系统强制要求修改密码
配置WiFi
- Ubuntu server 需要配置才能连wifi
- 编辑 /etc/netplan/50-cloud-init.yaml 文件: sudo vi /etc/netplan/50-cloud-init.yaml
network:
version: 2
ethernets:
eth0:
optional: true
dhcp4: true
wifis:
wlan0:
optional: true
dhcp4: true
access-points:
WIFISSID: {password: WIFIPASSWORD}
- 注意要修改WIFISSID 和WIFIPASSWORD
- 修改完成后执行命令
sudo netplan apply
- 等待几秒后就会连接上Wifi,执行ifconfig 命令查看IP地址后就可以通过putty或ssh命令远程连接树莓派了
- 如果能够连接成功,现在可以取下来键盘鼠标显示器,将树莓派放到路由器旁边,以后就是远程管理
远程管理树莓派
通过putty或ssh连接树莓派
安装需要的Python库
sudo apt update
sudo apt install python3-pip python3-twisted python3-cffi python3-parsel python3-queuelib python3-pydispatch python3-hamcrest python3-redis
- 安装需要的pip包
sudo pip3 install --no-deps w3lib==1.20.0 scrapy scrapyd
- 安装完成以后,测试一下scrapy能否正常运行
ubuntu@ubuntu:~$ scrapy
Scrapy 1.6.0 - no active project
Usage:
scrapy <command> [options] [args]
Available commands:
bench Run quick benchmark test
fetch Fetch a URL using the Scrapy downloader
genspider Generate new spider using pre-defined templates
runspider Run a self-contained spider (without creating a project)
settings Get settings values
shell Interactive scraping console
startproject Create new project
version Print Scrapy version
view Open URL in browser, as seen by Scrapy
[ more ] More commands available when run from project directory
Use "scrapy <command> -h" to see more info about a command
配置scrapyd服务器
- 在/home/ubuntu目录下新建一个文件 scrapyd.conf
[scrapyd]
bind_address=0.0.0.0
- 执行命令 scrapyd
ubuntu@ubuntu:~$ scrapyd
Removing stale pidfile /home/ubuntu/twistd.pid
2019-05-17T04:01:21+0000 [-] Removing stale pidfile /home/ubuntu/twistd.pid
2019-05-17T04:01:21+0000 [-] Loading /usr/local/lib/python3.6/dist-packages/scrapyd/txapp.py...
2019-05-17T04:01:22+0000 [-] Scrapyd web console available at http://0.0.0.0:6800/
2019-05-17T04:01:22+0000 [-] Loaded.
2019-05-17T04:01:22+0000 [twisted.scripts._twistd_unix.UnixAppLogger#info] twistd 17.9.0 (/usr/bin/python3 3.6.7) starting up.
2019-05-17T04:01:22+0000 [twisted.scripts._twistd_unix.UnixAppLogger#info] reactor class: twisted.internet.epollreactor.EPollReactor.
2019-05-17T04:01:22+0000 [-] Site starting on 6800
2019-05-17T04:01:22+0000 [twisted.web.server.Site#info] Starting factory <twisted.web.server.Site object at 0xffff8f405160>
2019-05-17T04:01:22+0000 [Launcher] Scrapyd 1.2.0 started: max_proc=16, runner='scrapyd.runner'
- 在笔记本上用浏览器打开网页 http://树莓派IP地址:6800
-
如果你看到以下内容,恭喜,成功搭建树莓派搭建爬虫服务器
接下来的工作
- 使用scrapy开发爬虫项目
- 使用gerapy、scrapydweb管理爬虫服务器
- 使用scrapy-redis开发分布式爬虫项目