![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
爬虫
sxzshushu
Never-ending success
learning is never-ending
展开
-
记一次Scrapy进程卡死的Debug过程
发现问题日常巡查数据入库情况时,发现最新数据的入库时间停在了凌晨。立刻登录远程服务器,尝试定位问题。 定时任务是否正常工作,是否有报错信息 crontab -l 经检查发现,定时任务工作正常,也没有运行报错的记录。 查看系统进程,采集程序是否运行 ps -ef | grep xxxappspider 输出信息如下 可以看到进程在凌晨 01:40 成功启动了,但是一直没有执行完成,推测是代码出现了死锁等问题?查看日志也没有记录到有用的信息。 检查转载 2020-07-26 14:21:05 · 1117 阅读 · 0 评论 -
scrapy遇到Couldn't bind: 24: Too many open files.错误的解决
现象为爬虫日志报出Couldn't bind: 24: Too many open files.错误,netstat -natep | grep 代理端口 或爬虫进程ID,有大量ESTABLISHED的连接。Socket error 10024,具体错误信息就是Too many open files 。由于爬虫使用了代理,每次请求切换一次代理IP,代理连接有时会发生异常,在爬虫高并发的情况...转载 2020-02-27 09:53:37 · 530 阅读 · 0 评论 -
爬虫去重策略对比
去重策略1)使用scrapy自带的set集合去重,当程序结束的时候会被清空,缺点:再次运行会导致数据重复。2)使用mysql做去重,对url地址进行md5,base64加密,加密之后会得到一串字符,判断字符串是否在mysql表中,如果在表示已经爬取过了,如果不在,表示没有爬取,执行请求,将加密后的url地址存入表中。缺点: 但是这个方法对mysql压力过大,导致崩溃,不推荐3)使用scrapy_r...原创 2018-06-27 15:32:56 · 1268 阅读 · 0 评论 -
ubuntu 16.04 爬虫分布式部署--遇到的redis 问题
打开保存失败,权限不足,我的redis是apt-get 安装的,解决方式:您需要将以下内容添加到/ etc / systemd / system / redis-server单元文件中: ReadWriteDirectories=-/var/lib/redis 请注意,这/var/lib/redis是默认设置,但如果在您/etc/redis/redis.conf设置了不同的dir配...转载 2018-10-22 19:31:55 · 292 阅读 · 0 评论 -
scrapy晋级---------处理返回状态码异常,ip超时
简单粗暴些,利用scrapy 框架原理自定义middleware 处理状态码异常,ip 超时的异常,重现发送请求,这里需要重写scrapy 内置的中间件 RetryMiddleware,middlewares.pyclass Process_Proxies(RetryMiddleware): logger = logging.getLogger(__name__) ...原创 2018-10-31 15:48:14 · 2726 阅读 · 1 评论