网页爬虫 - 去网页上爬取数据的时候,一般一天能爬取多少数据才算程序高效?

查看:572
本文介绍了网页爬虫 - 去网页上爬取数据的时候,一般一天能爬取多少数据才算程序高效?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

1.有时候爬虫,爬一会就会网页报错,连接错误,再加上有验证码要手动输入,只能手动重启程序,从中断的地方继续。
2.若是有100个网址去爬100条数据,很多时候,到运行结束,只能爬下来80几条,总是会出现未知错误,又只能重新爬
3.爬多少数据才算高效?一天一次性可以几百万条?不用分布式爬虫。目前,一天最多十万条- - !感觉好慢

这个问题已被关闭,原因:无法获得确切结果的问题

解决方案

我这边做爬虫,首先是抓取类目页,抓取到页面下所有类目的list page url,然后加个种子后缀(也就是页码),开始迭代抓取list page。list page里我们只关心详情页,所以我们抓取到所有的详情页url,丢到MQ里。然后详情页抓取器就会循环的从MQ里获取详情页url,把整个html down下来,存到HDFS里。有了MQ,你自己都可以写个分布式架构了。
为什么不直接在详情页提取想要的信息(ETL),而是直接保存html呢(EL)?首先,有HDFS分布式文件系统,存储成本非常低,而且解决了海量小文件的问题;其次,万一你提取信息的模式(正则/XPath/...)错了呢?或者你后面要添加新的提取模式?你就要重新抓取这个页面,浪费的是宝贵的外网带宽。
另外对于爬虫,最重要的是高度的容错。除非你认为每一个页面都非常宝贵,否则如果服务器返回非200,或者页面被意料之外的重定向,直接抛弃这个url吧。
最高效的爬虫是把你外网带宽吃满,但这太理想了。抓取到满足需求的量就可以了。
另外不要在一个站上吊死。比如我之前抓新闻,基本上主流的几个站都在互相爬,重复的内容很多,一个反爬了,第二个未必。至于去重嘛,浪费点运算性能,做分词->余弦相似度/主题提取/关键词TF-IDF就轻松搞定,总比没东西进来好

这篇关于网页爬虫 - 去网页上爬取数据的时候,一般一天能爬取多少数据才算程序高效?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆