spider(二) 爬虫的工作流程

spider(二) 爬虫的工作流程

  上一篇从概念上介绍了爬虫的作用,其实一个爬虫的构成是很复杂的,在互联网当中,网页之间的关系是无规律的,他们之间的关系也非常的复杂,如果一个爬虫从一个起点开始爬行,那么他会遇到无数多个分支,由此生成无数条的爬行路径,如果放任其爬行,就有可能永远也爬不到头,因此要对爬虫进行策略控制,制定其爬取规则。

  爬虫主要是为搜索引擎提供大量的数据基础,抓去的对象是互联网上的浩瀚资源,但是再好的爬虫也无法爬取所有的网络资源,所以爬虫如何高效的爬取有用的重要资源是当前亟待解决的问题,我们下面来看一下一个爬虫他主要的一个工作流程,后期的介绍我们也会按照这个工作流程去介绍爬虫的构成,以及一些性能方面的调优。

spider(二) 爬虫的工作流程  爬虫开始的时候需要给爬虫输送一个url列表,这个列表当中的url地址便是爬虫的起始位置,爬虫从这些url出发,开始了爬行,一直不断的发现新的url,然后再根据策略爬行发现的新的url,如此永远的反复下去,一般的爬虫都是自己简历dns缓冲,简历dns缓冲的目的是加快url解析撑IP地址的速度,google为了获取上亿的网页,设计了分布式的爬虫系统,一个url服务器讲url列表提供给网络爬行器,每个网络爬虫运行若干个连接,这样可以同时做到并行的爬取数据。

  由此可见爬虫系统是涉及到任务,多线程,策略的庞大的系统,在后续的研究中我们讲会做进一步的阐述。

转载于:https://www.cnblogs.com/foolfish/archive/2010/10/19/1855904.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110706.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android P Preview1 兼容要点[通俗易懂]

    AndroidPPreview1,昨天3.8发布,兼容Preview1主要改下targetSdkVersion=28compileSdkVersion为前一个版本(比如27)在AndroidStudio3.2下能完整支持AndroidPPreview1AndroidPPreview1要点1.1约束调用非API接口:比如用JNI、反射来调用一下系统类、方法    Android…

    2022年4月15日
    45
  • Linux下rpm安装lrzsz

    Linux下rpm安装lrzsz下载yum-yinstallyum-utilsyumdownloader–resolve–destdir=/root/soft/lrzszlrzsz[root@instance-1apocjsh~]#yumdownloader–resolve–destdir=/root/soft/lszrzlrzszLastmetadataexpirationcheck:0:02:48agoonSat19Mar202211:22:41PMCST.lrzs

    2022年6月23日
    121
  • python2022激活码-激活码分享2022.01.22[通俗易懂]

    (python2022激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月31日
    384
  • jdbc的增删改查_使用jdbc完成数据的增删改查

    jdbc的增删改查_使用jdbc完成数据的增删改查JBDC数据的持久化:把数据保存到磁盘上。JDBC是java访问数据库的基石,JDO,Hibernate,Mybatis等都是基于JDBCJDBC是一个独立于特定数据库的管理系统,通用的SQL数据库存取和操作的公共接口配置文件:jdbc.propertiesuser=rootpassword=abc123url=jdbc:mysql://localhost:3306/testdriverClass=com.mysql.jdbc.Driver获取Connectionpublic s

    2022年8月8日
    2
  • deep learning with pytorch中文版_pytorch distributed

    deep learning with pytorch中文版_pytorch distributed憨批的语义分割重制版9——Pytorch搭建自己的DeeplabV3+语义分割平台注意事项学习前言什么是DeeplabV3+模型代码下载DeeplabV3+实现思路一、预测部分1、主干网络介绍2、加强特征提取结构3、利用特征获得预测结果二、训练部分1、训练文件详解2、LOSS解析训练自己的DeeplabV3+模型一、数据集的准备二、数据集的处理三、开始网络训练四、训练结果预测注意事项这是重新构建了的DeeplabV3+语义分割网络,主要是文件框架上的构建,还有代码的实现,和之前的语义分割网络相比,更加

    2022年8月21日
    8
  • 邓白氏编码申请条件_苹果邓白氏码申请教程

    邓白氏编码申请条件_苹果邓白氏码申请教程一、填写申请表单申请苹果开发者账号途中,我们会用到邓白氏编码,申请邓白氏编码的入口自然也是在申请苹果开发者账号途中进入。1.登录AppID登录入口:https://developer.apple.com/account/.公司开发者账号一般都是由老板来管理的,所以使用老板的个人AppID登录就好了,没有就让老板申请一个。登录进来后进行以下操作:选择Company/Origani

    2025年5月31日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号