爬虫的基本原理及其架构

目录

  1. 总述
  2. 网络爬虫的遍历策略
  3. 架构

1.总述

通常,访问一个网页,需要一个初始URL,然后通过这个页面的超链接才能跳转到其他页面。同理,一个爬虫通过初始URL列表(种子链接)访问到初始网页,并提取其中的URL添加到工作队列,判断该工作队列的URL是否访问过页面;是,从工作队列中移除并添加到以遍历表;否,放进工作队列,继续访问页面,流程图如下
在这里插入图片描述
以采取博客园文章标题为例

public class NewBio {
    LinkedBlockingQueue<String> workList;  //工作队列
    HashSet<String> visited;  //已遍历URL

    public NewBio() {
        this.workList = new LinkedBlockingQueue<>();
        this.visited = new HashSet<>();
    }

    public void run() {
        while (workList.size() > 0) {  //工作队列不为空
            String strUrl = workList.iterator().next();
            workList = parseLink(strUrl);
            workList.remove(strUrl);
            vi
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值