大家好,最近要写个基于爬虫的小工具,主要是爬行单个网站并解析数据保存其中需要的内容。
我的想法是这样的,爬行线程从unsearchedUrl队列中取出url,去请求该url将获取的页面响应及其url存入到unparsedResponse队列中,解析线程从unparsedResponse队列中取出一条响应,分析该响应中包含的超链接,过滤掉重复的链接后存入unsearchedUrl队列中,当然,解析线程还要进行其他内容的提取。我这样做主要是为了提高性能,对每个url只进行一次网络访问。
现在主要的问题是单个的线程实现了,可是爬行线程和解析线程同时多个进行不知该怎么弄,麻烦大家给分析分析,谢谢!
下面是参考流程图。
多线程爬虫的设计问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- iteye_7115 2010-09-06 17:46关注
你可以试下用线程池,取得的url可以放到队列中
看看java.util.concurrent包下的相关类
如线程池类:java.util.concurrent.ThreadPoolExecutor
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何获取烟草零售终端数据
- ¥15 数学建模招标中位数问题
- ¥15 phython路径名过长报错 不知道什么问题
- ¥15 深度学习中模型转换该怎么实现
- ¥15 HLs设计手写数字识别程序编译通不过
- ¥15 Stata外部命令安装问题求帮助!
- ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
- ¥15 TYPCE母转母,插入认方向
- ¥15 如何用python向钉钉机器人发送可以放大的图片?
- ¥15 matlab(相关搜索:紧聚焦)