社区
网络编程
帖子详情
爬虫程序的IO模型
jiangfeng999
2009-06-30 09:30:59
大家好,我现在在编写一个爬虫程序,但是不知道选用哪一种IO模型的抓取效率会比较高
正在苦恼中
...全文
104
13
打赏
收藏
爬虫程序的IO模型
大家好,我现在在编写一个爬虫程序,但是不知道选用哪一种IO模型的抓取效率会比较高 正在苦恼中
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Murusu
2009-07-16
打赏
举报
回复
想请教一下,win32下用完成端口跟ace比起来那个效率更高?
beipiao
2009-07-15
打赏
举报
回复
各平台比较高效的I/O系统机制:
win32: io完成端口
linux(2.6内核,2.4要打补丁): epoll
freebsd: kevent
solaris: Event Completion
我以前整理过一些文章,不过基本上都是linux/unix的
beipiao
2009-07-15
打赏
举报
回复
开源的larbin值得研究
给你提一些要点
一. 关键的需求点:
并发量有多大,是否需要分布式;
数据抽取的复杂度(如果数据抽取的开销大,而且是实时抽取的话,那么爬虫的架构和I/O模型就要多考虑它的影响);
二. 技术要点:
1. I/O:
大规模:单线程、事件驱动
小规模:多线程
2. 协议:
http,html,js,cookie等
3. 页面存储:
如果需要存储,将是一个大的难点
4. 其它:
dns缓存;
url去重;
内存池;
中断点保存和恢复;
......
jiangfeng999
2009-07-14
打赏
举报
回复
再问一下,如果我用完成端口做爬虫。完成端口应该怎么分配呢,是一台主机用一个完成端口,还是所有的主机都使用一个完成端口。
gaoteng1984
2009-07-05
打赏
举报
回复
目前也有一些开源爬虫用的是多线程同步下载方式,比如Heritrix,性能也不低
gaoteng1984
2009-07-05
打赏
举报
回复
单机的那种1MB网速以内的爬虫,就多线程同步套接字就足够了,因为这时的瓶颈在于网络速度,而不是线程间切换和互斥的开销,线程数目在100以内时,所有线程栈的内存开销也不大。
千兆网上的爬虫,才要去用完成端口
coolzdp
2009-07-04
打赏
举报
回复
参考larbin,不过是linux的
jiangfeng999
2009-07-03
打赏
举报
回复
用IOCP做爬虫程序有例子吗,最好有例子
我现在一直搞不清楚的是用IOCP做爬虫程序,使用多少个完成端口比较合适,还有完成端口如何分配
jiangfeng999
2009-07-01
打赏
举报
回复
我在我的爬虫程序中建立了一个DNS缓存,把和每架主机的链接都长期保存起来.
如果使用完成端口是每一架主机使用一个完成端口,还是在这个爬虫进程中的所有主机都使用同一个完成端口
guohaibo
2009-07-01
打赏
举报
回复
完成端口,数据流量应该比较大吧。
猞猁狲
2009-06-30
打赏
举报
回复
如果熟悉完成端口,那最好用完成端口,如果不熟悉,就用ace找个现成的例子
blackcat242
2009-06-30
打赏
举报
回复
完成端口呗,windows上面也就这个效率最高了
分步骤快速可控执行
IO
操作的轻便框架.zip
爬虫
(Web Crawler)是一种自动化
程序
,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。
爬虫
通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。
爬虫
的...
JAVA上百实例源码以及开源项目
基于JAVA的UDP服务器
模型
源代码,内含UDP服务器端
模型
和UDP客户端
模型
两个小
程序
,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...
150讲轻松学习Python网络
爬虫
因此我们又增加了两个章节用来提高
爬虫
程序
的灵活性,分别是:
爬虫
进阶:包括IP代理,多线程
爬虫
,图形验证码识别、JS加密解密、动态网页
爬虫
、字体反爬识别等。 Scrapy和分布式
爬虫
:Scrapy框架、Scrapy-redis组件...
JAVA上百实例源码以及开源项目源代码
凯撒加密解密
程序
1个目标文件 1、
程序
结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界
模型
(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实...
java开源包1
Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络
IO
操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章