之前做的爬虫项目是在Mac os上完成的,现找工作发现都要求掌握Linux,所以准备以后项目都放在Linux里来实现,先从(分布式)爬虫开始
准备开发环境:(在Ubuntu下完成)
1、安装Python:sudo apt-get install python3
2、安装虚拟环境:
1)sudo apt-get install virtualenv
2)sudo apt-get install virtualwrapper(管理虚拟环境的工具)
3)a.mkvirtual -p python3 venv -->报错:mkvirtual:command not found
b.换个命令试试,使用virtualenv venv,报错
4)查资料知,需要先配置virtualwrapper环境变量
a.sudo vim ~/.bashrc
b.输入 G 到达文章末尾,加入以下两行
c.重新加载配置文件 source ~/.bashrc,报错
找一下virtualwrapper.sh这个目录在哪:find / -name "*virtualenvwrapper.sh*" > ./a/virtual.txt
原来在/usr/share/vitualenvwarpper这个文件夹,修改.banshrc中的路径即可,重新加载配置文件
5)创建虚拟环境 mkvirtualenv --python=/usr/bin/pyhton3 venv(名字可自定义)
6)进入虚拟环境 workon venv 退出 deactivate
3、安装scrapy:pip install scrapy,报错 error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ,
查资料说是需要安装一些依赖库,见https://blog.csdn.net/qq_30242609/article/details/52810765
sudo apt-get install python-dev
sudo apt-get install libevent-dev
sudo apt-get install libssl-dev
还是此错误,继续查资料,见https://blog.csdn.net/qq_31845675/article/details/72286445
还是报错,但情况已经不同了,
接着查资料,原来是关联的版本不对,见http://blog.51cto.com/13039510/1940492
sudo apt-get install python3.6-dev
4.安装redis (Mac上已经安装好了redis)
1)安装一些库
pip install redis
pip install scrapy-redis(分布式爬虫需要使用此库)
准备让Mac上的Redis作Master,Ubuntu上的Redis作slave,需要修改redis.conf,但找不到此配置文件,于是重新下载,sudo apt-get install redis,找到配置文件中的 bind 127.0.0.1,注释掉
2)测试连通性
通过配置文件启动Mac上的redis: redis-server /etc/redis/redis.conf redis-cli ,Mac IP为192.168.2.123
打开Ubuntu上的redis:
redis-server /etc/redis/redis.conf
redis-cli -h 192.168.2.123
测试连通性,在Ubuntu上输入 keys * ,报错 Redis is running in protected mode because protected mode is enabled,no bind address was specified,no authentication password is requested to clients
去Mac上的redis.conf修改保护模式protected-mode yes-->protected-mode no,见https://blog.csdn.net/bug_moving/article/details/54907725,再测试没有问题
5.配置git仓库
1)安装git: sudo apt-get install git
2)创建.ssh: $ ssh-keygen -t rsa -C "3040***@qq.com" 此处留自己的GitHub邮箱,找到 .ssh 文件夹,把 id_rsa.pub 里的内容添加到GitHub上
3)创建本地版本库: git init (在自己要上传到GitHub的项目所在目录里创建)
4)关联远程库: git remote add origin [email protected]:heaven*/crawler,留自己的GitHub名和仓库名,需要先创建
5)推送::git add files / git commit -m "submit instructions" /git push (-u origin master)
至此,基本的开发环境算配置完成了,接下来开始正式的项目练习