需求
因为最近想找点学习资源,没错真的是学习资源,然后就去全球最大的基友社区找了下百度云链接的爬虫,没想到真的有,那就搭建一下。
我的要求很简单,就是爬出链接
安装环境
- mysql
- python27
- mysql-python
创建数据库
create database pan default charset utf8
下载爬虫
git clone https://github.com/x-spiders/baiduyun-spider.git
设置连接数据库的账号密码
打开 bin/spider.py ,修改 DB_HOST、DB_PORT、DB_USER、DB_PASS
运行爬虫
如果你是第一次部署,需运行下面命令,完成做种
python bin/spider.py --seed-user
然后运行
python bin/spider.py
注
上面都来自https://github.com/x-spiders
问题:
我发现当这个爬虫爬了45分钟后便开始变慢
解决方法
我写了一个脚本让他30分钟结束进程然后继续开启
#!/bin/bash
# a为程序启动结束的计数变量
a=1
# 挂载数据盘
sudo mount /dev/sda1 /data
echo "mount ok"
# 开启mysql
sudo service mysql start
echo "mysql start"
# 爬虫开启结束的死循环
while (( 1==1 ))
do
# 开启爬虫并放入后台
python /data/baiduyun-spider/bin/spider.py &
echo "program is running"
# 30分钟后结束进程
sleep 1800
killall python
sleep 1
echo "program is kill"
let a=a+1
# 写入文件
echo $a >> bboysoul
done
问题
当关闭命令行后进程会结束
解决办法
用screen命令
后记
爬了一个星期吧平均一天10万条数据,数据库现在分享给大家
链接: https://pan.baidu.com/s/1bpeRH07 密码: mqvt
网友评论
ERROR 1064 (42000) at line 809697: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array
(
[type] => 1
[message] => Maximum execution time of 300 seconds e' at line 218
Operation failed with exitcode 1
网上我找了些方法,大都是PHP脚本设置某个配置值的(如最大连接时间),针对my.ini的配置更改也有,但改了一个没什么效果,有什么办法吗?