题记:

  1024,今天是个程序猿的节日 ,哈哈,转为正题,从事了一线网络爬虫开发有近1000天。简单阐述下个人对网络爬虫的理解。

提纲:

1:是什么

2:能做什么

3:怎么做

  4:综述

1:是什么

    wiki释义:网络蜘蛛(Web spider)也叫网络爬虫(Web crawler)[1],蚂蚁(ant),自动检索工具(automatic indexer),或者(在FOAF软件概念中)网络疾走(WEB scutter),是一种“自动化浏览网络”的程序,或者说是一种网络机器人。它们被广泛用于互联网搜索引擎或其他类似网站,以获取或更新这些网站的内容和检索方式。它们可以自动采集所有其能够访问到的页面内容,以供搜索引擎做进一步处理(分检整理下载的页面),而使得用户能更快的检索到他们需要的信息。

网络爬虫始于一张被称作种子的统一资源地址(URLs)列表。当网络爬虫访问这些统一资源定位器时,它们会甄别出页面上所有的超链接,并将它们写入一张"待访列表",即所谓"爬行疆域"(crawl frontier)。此疆域上的统一资源地址将被按照一套策略循环访问。

白话语:网络爬虫,是一个(组,套,集群 )能够自动访问网络资源,并抽取目标数据的程序。 类比模拟人工点击访问百度首页,右键打开源码并对源码抽取分析的过程,转化为自动化,并主动发现新连接继续重复的过程。

案例: 百度搜索引擎的数据支持主要由百度爬虫提供。

2:能做什么

       得数据者得天下,网络爬虫应用于搜索引擎是大家都知道的,除此之外,还常应用于,比价,电商,舆情,内容聚合网站等。比价比较有名的惠惠助手。还应用于模拟表单提交,自动登录,自动发送邮件,转发内容等等。  一般数据源从互联网公开信息获取,主要由门户,垂直网站,sns,论坛。   数据分类可参照下图

 

   3:怎么做

    开源爬虫,java有 nutch,heritrix 。python 有 Scrapy ,c的 ,php的也都有 。

从技术角度上来讲,没有好坏之分,还在于人对它的熟稔程度和使用情况 。 非要排资论辈的话 ,只能说 nutch是鼻祖 , nutch建立在luence上, 并且孵化了当下如火如荼hadoop。

其它自行脑补。

自主研发,虽然有那么多的开源框架,鉴于国内网络规范的不规范,及越来越的网站,开始防爬虫。 仅仅借助开源框架很难满足自身的业务需求。 结合业务端,一般公司做法

是自己研发一套适应自己业务的爬虫。 数据来源一般不外乎下图:

自助研发的方向也比较多,结合数据来源站点特征及自身业务,有追求 大而全的,有追求小而美的。有青睐金融数据,有对电商数据情有独钟的。有的追求功能,有的追求性能。   暂不做讨论。

技术架构 ,php python面向过程的采集定向站点数据较为方便。  大吞吐量的 一般采用java,c写分布式式爬虫。 中央调度式(mater/slave),p2p,mixed 等 可参照

crawler_分布式网络爬虫的设计与实现_设计图。 曾用第一种方式实现,在一般网络环境下测试,三个节点 下载速度 28页面/秒。

爬虫功能部分,主要是下载和解析模块。

下载模块:下载各个语言包都有,需要注意的就是 分析网络流,分析工具有很多各个浏览器都带的有,较为好用的firefox,和 chrome. 还有一些第三方的 findder, wireshark,httpwatcher

一些请求参数和响应cookie传递。

解析:通用的做法是正则解析,写的好的话性能也最好。也有一些好用的 dom封装解析的,htmlparse,jsoup,等等。写一些jquery 语法选择器 ,也称xpath. crawler_jsoup HTML解析器_使用选择器语法来查找元素 crawler_解析之_jquery_语法选择器使用方法 ,应对规范网站第二种做法比第一种好写,正则毕竟写起来比xpath要麻烦。

  4:综述

    关于爬虫,要写的太多,一线爬虫屌丝码农文采有限,后续会不定期陆续补充,其实任何技术都是,不在于问了多少,看了多少, 得亲手自己去试,多练 ,多试错,猜测,验证的一个过程。

难免疏忽,望大家海涵。

转载于:https://www.cnblogs.com/cphmvp/p/4047703.html

crawler_浅谈网络爬虫相关推荐

  1. 浅谈网络爬虫中广度优先算法和代码实现

    前几天给大家分享了网络爬虫中深度优先算法的介绍及其代码实现过程,没来得及上车的小伙伴们可以戳这篇文章--浅谈网络爬虫中深度优先算法和简单代码实现.今天小编给大家分享网络爬虫中广度优先算法的介绍及其代码 ...

  2. 浅谈网络爬虫中广度优先算法和深度优先算法

    前言 做爬虫的,最怕业务简单粗暴的来一句"爬一下XXXX网".比如,"爬一下央广网"(示例链接:http://www.cnr.cn),看着密密麻麻的各种子分类, ...

  3. 如何用python抓取文献_浅谈Python爬虫技术的网页数据抓取与分析

    浅谈 Python 爬虫技术的网页数据抓取与分析 吴永聪 [期刊名称] <计算机时代> [年 ( 卷 ), 期] 2019(000)008 [摘要] 近年来 , 随着互联网的发展 , 如何 ...

  4. php 爬虫去重,浅谈动态爬虫与去重(续)

    作者:Fr1day@0keeTeam 0x00 前言 在 浅谈动态爬虫与去重 中,分享了动态爬虫中触发事件.监控节点变动.URL去重等的实现方法.在接近一年的线上运行与迭代更新过程中,处理了很多bug ...

  5. web应用服务器计算资源核算,浅谈网络计算与应用.doc

    浅谈网络计算与应用.doc 浅谈网络计算与应用 摘要:作为一种新型的分布计算技术,网格计算将地理上分布的.异构的资源 用高速网络连接在一起,集成一台高速的超级计算机.分析了网格计算的意义. 体系结构. ...

  6. python 模拟浏览器selenium_浅谈python爬虫使用Selenium模拟浏览器行为

    前几天有位微信读者问我一个爬虫的问题,就是在爬去百度贴吧首页的热门动态下面的图片的时候,爬取的图片总是爬取不完整,比首页看到的少.原因他也大概分析了下,就是后面的图片是动态加载的.他的问题就是这部分动 ...

  7. 生活中人们通过计算机网络进行信息交流,浅谈网络计算机应用

    浅谈网络计算机应用 摘 要:网格计算作为信息产业的新热点,将是近期内解决数据量极大的科学工程计算问题最直接和最有效的途径.随着网格计算技术的进一步发展以及服务提供商的共同努力,网格计算将会应用于更广阔 ...

  8. 浅谈网络营销 | 什么是网络营销?

    浅谈网络营销 | 什么是网络营销? 网络营销是电子商务的主要内容之一,是建立在互联网平台之上的现代营销方式,是现代信息技术和新的营销理念融合的产物.企业实现电子商务常常是从网络营销开始. 1.网络营销 ...

  9. 浅谈Python爬虫(五)【网易云热评爬取实例】

    浅谈Python爬虫(五) 目的:爬取网易云歌单所有歌曲的信息及热评 Python环境:3.7 编译器:PyCharm2019.1.3专业版 存储格式:JSON 1.分析网页 进入网易云音乐首页,点击 ...

最新文章

  1. OpenCV特征检测
  2. 从源码看runLoop
  3. 警告: deleting object of polymorphic class type which has non_virtual destructor
  4. 我的2013-从GIS学生到GIS职业人的飞跃
  5. 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(六) MiniGUI 提供的非 GUI/GDI 接口...
  6. 撰写论文时word使用技巧(转)
  7. Java基础——Java NIO详解(二)
  8. (47)System Verilog数组排序
  9. 传统金融为什么要做AI?平安保险CEO解读行业痛点
  10. 记录——《C Primer Plus (第五版)》第八章编程练习第五题
  11. Java BigDecimal 数据类型的运算
  12. 安卓蓝牙USB连接热敏打印机二
  13. 菜鸟教程:零基础HTML入门
  14. 2023计算机毕业设计SSM最新选题之javaOA办公系统y7x0p
  15. 攻防世界logmein
  16. 狄利克雷分布公式_Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)...
  17. Python报错 TypeError: Descriptors cannot not be created directly
  18. redis连接耗尽问题排查
  19. Dubbox 是什么?
  20. 【水果大全】快看,你属于哪种水果身材?

热门文章

  1. 蜜蜂在挡板外和框梁顶造赘脾的几个要素及处理方法
  2. 【刷机】LG G2 能进入recovery但是不能进入新系统,can't open file ,G2刷TOT
  3. 4种常见的鉴权方式及说明
  4. lisp不是函授型语言_讨论:为什么Lisp语言不再被广泛使用
  5. 3分钟短文:Laravel路子真野啊!路由昵称前缀中间件
  6. SQL入门之第十七讲——子查询
  7. LightOJ - 1395 A Dangerous Maze (II) —— 期望
  8. xtu1395 字符频度
  9. Jmeter对webSocket测试
  10. MaxPab兔源多克隆抗体(D01)的功能和应用类型