解决方案 »
- 关于二级域名cname
- 如何用代码的方式让控制文字在WORD\outlook中显示格式
- 100分算个分页的算法【求速度】完成立马结贴
- 怎么找到Repeater脚模版里的button控件
- 您已指定 删除 命令比较 SqlDataSource“SqlDataSource_weblink”的所有值,但为 values 传入的字典是空的。
- 聊天室问题
- 程序报 System.TypeInitializationException 错误
- asp.net如何使用SaveFileDialog对话框?
- 新手问题:请看这个错误怎么解决?
- datagrid格式的问题,简单,不过我不会。。。
- repeat 里面放treeview 控件 提示脚本错误
- 样式自动变化
判断是否重复发工作应该交给数据库本身,用proc来处理,在抓取工作结束后由proc去处理。以谁为主键不重要,重要的是只对比url,形同的直接update,不同的由临时表写入物理表,然后删除临时表。为了加快处理速度,你可以规定临时表存放数据的条数。
无法这样做。比如我发现了一条网址,不可能入到某个对列。等单独线程或函数去判断,因为爬虫须要等这条网址是否重复判断完成。比如这条网址还未判断是否重复的情况下另一页面有链接到此网址。此时就会重复。
谁为主键不重要
很重要。
临时表
不太明白有何意义。 网址初步估计会上百亿条。我从未处理过如此大数据量。如果以id数字为主键到会快一些。但问题是这个检测重复得须要url_md5。不然存为原始url会更加慢
不至于复杂到百度google那样。目前其它问题解决 。只有这上网址问题。
我明白2楼的意思
2楼: 抓取,入临时表,判决是否有重复。入对列表,从对列表取网址。抓取
现在:抓取,判决是否有重复。入对列表,从对列表取网址。抓取实际是还是要判断,我指的是如何优化一下。主要就慢在判断上。也就是10楼说的问题。另外一个proc来判断没有意义。一样是慢。相对来说我现在的模式还少一步工作。能找到的资料就是布隆过滤器,8楼与10楼说的比较重点。