-
spider数据传递入远端数据库,以便于后端使用
进入远端
ssh 用户名@用户id
安装环境
sudo apt-get install python3-pip
配置远端环境,应用程序
添加依赖
sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
安装相关库
pip3 install scrapy -i https://pypi.douban.com/simple/
pip3 install scrapyd
pip3 install scrapyd-client
添加爬虫运行的三方库:
pip3 install requests
pip3 install pymysql
pip3 install pymongodb
修改scrapyd的配置文件,允许外网访问
- 查找配置文件的路径:find -name default_scrapyd.conf
- 修改配置文件: sudo vim 路径
服务器安全组配置
- 进入服务安全组选项添加安全组
- 添加成功后,点击修改规则,添加如下信息(配置目的:允许访问6800端口)
- 完成后返回到云主机菜单,找到配置安全组菜单,跟换为刚才添加的安全组
- 最终完成后,在浏览器中输入ip地址和端口,显示如下图,说明配置成功
配置环境
配置mysql
etc/mysql/mysql.conf.d/mysqld.cnf
添加 用户权限
grant all privileges on . to root@'%' identified by 'ljhubuntu' with grant option;
flush privileges
重启mysqlsudo service mysql stop
sudo service mysql start
配置mongo
etc/mongodb.conf
重启mongo
详情
配置redis
cp /use/local/redis/redis.conf /etc/redis/
重启redis
kill
redis-server redis.conf
配置scrapyd
./.local/lib/python3.5/site-packages/scrapyd/default_scrapyd.conf
配置navicat
- 连接 navicat
开始部署
settings.py 文件添加
scrapy_redis.pipelines.RedisPipeline': 400,
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
SCHEDULER_PERSIST = True
'''redis队列的三种模式'''
# 默认使用了堆的形式(请求任务先进先出)
#SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderPriorityQueue"
# 默认使用了栈的形式(请求任务先进后出)
#SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderQueue"
#SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderStack"
#redis
REDIS_HOST = '118.24.255.259'
REDIS_POST = 6379
更改数据库
IP
spider.py 文件更改
from scrapy_redis.spiders import RedisCrawlSpider
class spider(RedisCrawlSpider):
redis_key = 'redis-key'
scrapy.cfg文件更改
[deploy]
url=http://localhost:6800
project=项目名称
打包项目启动
scrapyd-deploy -p shijijiayuan --version 1.0
操作项目,并可视化到url
curl http://94.191.98.56:6800/schedule.json -d project=项目名称 -d spider=爬虫名称
在远端redis输入key
lpush sjjy:redis-key http://date.jiayuan.com/eventslist_new.php?page=1&city_id=4201&shop_id=33
关闭项目,并可视化到url
curl http://94.191.98.56:6800/cancel.json -d project=shijijiayua -d job=85bfbb2cfd1d11e88836525400abf237