Python 种子 爬虫总结

"Python 种子 爬虫总结"

Posted by Daisy on January 29, 2015

“Yeah It’s on. ”

  • 前段时间自己弄了一个python的爬虫,中途停下,现在来总结一下。
  • 服务端用的是python,源码从网上找了一个,名字叫手撕包菜,等会会把搭建过程放出来,这个项目中真正让自己感觉到自己的不足。很多方面自己以前都没有接触到,这也是这个项目停下来的原因。以后如果有机会再继续吧… …
  • 以下是搭建过程
  • 项目环境 服务器:用的VPS,国内的这些例如阿里云爬不到种子的,前期用的Digital Ocean但是对国内访问速度太慢于是后期换成了vultr
  • 服务器版本:Centos 7.2
  • 服务端语言: python作为爬虫 + PHP写了一部分的APP接口
搭建过程
一.获取ssbc源代码
1.环境检测(Ssbc当前版本是基于django1.8.1开发,所需python环境为python2.7.5以上。)
[root@localhost ~]# python -V
Python 2.7.5
执行python -V即可获取当前版本。

2.关闭防火墙,有防火墙爬不到种子
[root@localhost ~]# systemctl stop firewalld.service  //关闭firewall防火墙
[root@localhost ~]# systemctl disable firewalld.service    //禁止firewall防火墙开机启动
[root@localhost ~]# systemctl stop iptables.service   //关闭iptables防火墙
[root@localhost ~]# systemctl disable iptables.service    //禁止iptables防火墙开机启动

2.获取ssbc安装包
[root@localhost ~]# wget https://github.com/78/ssbc/archive/master.zip
[root@localhost ~]# yum -y install unzip nano
[root@localhost ~]# unzip master.zip
解压后你会发现在root根目录先有个文件夹ssbc-master.

二.安装MariaDB
1.安装数据库及所需环境
[root@localhost ~]# yum -y install gcc gcc-c++ python-devel mariadb mariadb-devel mariadb-server
[root@localhost ~]# yum -y install  python-setuptools&&easy_install pip
[root@localhost ~]# cd ssbc-master
[root@localhost ssbc-master]# pip install -r requirements.txt
[root@localhost ssbc-master]# pip install pygeoip
2.创建ssbc数据库
[root@localhost ~]# service mariadb start //启动数据库
[root@localhost ~]# mysql -uroot -p
Enter password: (回车即可)
MariaDB [(none)]& create database ssbc default character set utf8;
MariaDB [(none)]& SET GLOBAL max_allowed_packet=1024*1024*1024;
MariaDB [(none)]& flush privileges; // 刷新数据库
MariaDB [(none)]& quit; //创建成功后退出

三.Web设置
[root@localhost ssbc-master]# python manage.py makemigrations
[root@localhost ssbc-master]# python manage.py migrate
[root@localhost ssbc-master]# python manage.py runserver 0.0.0.0:80 //启动ssbc
浏览器输入你的ip(如:54.43.43.43) 看网站是否能正常访问,正常则CTRL+C停止
[root@localhost ssbc-master]# python manage.py createsuperuser //输入用户名邮箱密码确认密码(创建管理账号)
[root@localhost ssbc-master]# nohup python manage.py runserver 0.0.0.0:80 > /dev/zero & //将网站服务放在后台运行

四.安装Sphinx
[root@localhost ssbc-master]# wget http://sphinxsearch.com/files/sphinx-2.2.9-1.rhel7.x86_64.rpm
[root@localhost ssbc-master]# yum install unixODBC unixODBC-devel postgresql-libs
[root@localhost ssbc-master]# rpm -ivh sphinx-2.2.9-1.rhel7.x86_64.rpm
[root@localhost ssbc-master]#mkdir -p /data/bt/index/db
[root@localhost ssbc-master]#mkdir -p /data/bt/index/binlog
[root@localhost ssbc-master]# mkdir -p /tem/downloads
[root@localhost ssbc-master]#chmod -R 755 /data
[root@localhost ssbc-master]#chmod -R 755 /tem
[root@localhost ssbc-master]# indexer -c sphinx.conf --all (all 前面是空格减号减号)
[root@localhost ssbc-master]# searchd --config  ./sphinx.conf   (config前空格减号减号)
[root@localhost ssbc-master]# python manage.py runserver 0.0.0.0:80 //启动ssbc 
浏览器输入你的ip(如:54.43.43.43) 看网站是否能正常访问,正常则CTRL+C停止
[root@localhost ssbc-master]# nohup python manage.py runserver 0.0.0.0:80 > /dev/zero & //将网站服务放在后台运行

五.开启爬虫(workers目录下)
1.爬虫:执行:python simdht_worker.py (等2两分钟出现数据之后可以CTRL+C停止)
1.1 执行命令:nohup python simdht_worker.py >/dev/zero & (让爬虫在后台运行)
2.入库:执行:python index_worker.py (等待10分钟没有出现数据之后可以CTRL+C停止)
2.1 后台执行命令:nohup python index_worker.py >/dev/zero &(让爬虫在后台运行) 上面是服务端搭建过程,APP端就可以自己自由发挥了,只要对接好接口就可以。<br>

常用命令

防火墙

systemctl start firewalld         # 启动,
systemctl enable firewalld        # 开机启动
systemctl stop firewalld          # 关闭
systemctl disable firewalld       # 取消开机启动

service firewalld stop

查看后台进程

ps -elf

杀死后台进程

kill pid

mysql 相关

添加进数据库的时候有可能会因为最大添加受限而添加失败。
SET GLOBAL max_allowed_packet=1024*1024*1024; // 赋值
SHOW VARIABLES LIKE 'max_allowed_packet'; // 显示最大允许
flush privileges; // 刷新数据库

mysqldump -u root -p wordpress > backup.sql // mysql导出数据

select count(*) from search_hash; // 查询

grant all privileges on *.* to 'root'@'%' identified by ''; 指定mysql或者mariadb可以远程连接;

这应该可以说是开通这个博客以来的第一篇文章,以备后记。