网络爬虫的种类可以分为通用爬虫和主题爬虫两种,根据爬取的广度的不同,爬取方式可以分为特定爬取和广泛爬取。按照爬取方式的不同,网站又可以分为源码开放型和源码不开放型、登录可爬型和非登录可爬型。针对不同的网站,需要使用不同的爬取方式。

网站类型:

1、源码开放非登录可爬型

这种类型的网站是最为普遍且最方便爬取的网站,我们只需要下载其源码并抽取需要的信息即可。抽取方式可以使用Jsoup工具和正则表达式匹配。Jsoup相对简单,对于初学者而言,极易上手。而通过正则表达式来匹配,则需要初学者对正则表达式有一定了解。本文建议可以先用Jsoup进行解析,然后对解析出来的结果有必要进行抽取的,再通过正则表达式进行匹配。注意有时候网站的标签会发生变化,这种变化可能会引起原来的Jsoup解析和正则表达式匹配不正确,在这种情况下,只能以变应变了。

2、源码开放登录可爬型

这种类型的网站也比较多,它只对登录用户可见,或者对非登录用户部分可见,如知乎、清水河畔、CSDN等等。对于这种网站,需要爬取它的内容,就需要首先注册其网站,然后登录网站并抓包分析,在代码中实现登录功能后,就可以对其源码进行下载操作了。详细参考:HttpClient4.4登录知乎(详细过程)http://my.oschina.net/jiangmitiao/blog/483092?fromerr=ZYDEcWj7

https://github.com/MessiMercy/LoginZhihu

3、源码不开放非登录可爬型

这种类型的网站不多,但是我也遇到过,如爬取新闻评论,我对腾讯、新浪和网易的新闻评论都进行了查看,发现其并不显示源码。针对这种网站,我们只能去寻找它的文档API,然后下载其API进行解析。我们可以通过在浏览器下按快捷键F12,在Source一栏寻找其API。

特定爬取和广泛爬取:

所谓特定爬取和广泛爬取指的是是否针对特定网站进行的爬取,如果是,则为特定爬取,否,则为广泛爬取。特定爬取较简单,我们只需对其网站的标签进行分析,然后通过Jsoup工具或者正则表达式进行必要信息的抽取即可。而广泛爬取当然我们也可以按照特定网站爬取的方式对标签进行分析,只不过要分很多种类罢了,较为普遍的使用方法是通过抽取信息的共同特点,根据一些算法进行通用特征的抽取来实现全网爬取。例如,在我们需要爬取全网的新闻内容时,我们就可以采用基于行块分布函数的通用网页正文抽取算法来抽取新闻正文。 

还有一种下载源码需要响应网站的许可证,可以参考:

http://blog.csdn.net/mengxianhua/article/details/6045144

网站类型和爬虫抓取类型相关推荐

  1. 爬虫入门必学——常见的几种网站类型

    在学习爬虫前,我们需要先掌握网站类型,才能根据网站类型,使用适用的方法来编写爬虫获取数据. 今天小编就以国内知名的ForeSpider爬虫软件能够采集的网站类型为例,来为大家盘点一下数据采集常见的几种 ...

  2. python爬虫资源大全_Python爬虫抓取纯静态网站及其资源(基础篇)

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:程序员宝库 **( 想要学习Python?Python ...

  3. 抓取整个网站图片的爬虫

    为什么80%的码农都做不了架构师?>>>    写了一个抓取http://www.youwu.cc/index.html整个网站图片的爬虫,使用redis去重和任务队列,这样可以避免 ...

  4. Python爬虫抓取某音乐网站MP3(下载歌曲、存入Sqlite)

    Python爬虫抓取某音乐网站MP3(下载歌曲.存入Sqlite) 最近右胳膊受伤,打了石膏在家休息.为了实现之前的想法,就用左手打字.写代码,查资料完成了这个资源小爬虫.网页爬虫, 最主要的是协议分 ...

  5. python爬虫抓取网站技巧总结

    不知道为啥要说是黑幕了??哈哈哈-..以后再理解吧 python爬虫抓取网站的一些总结技巧 学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛 ...

  6. python爬取网页防止重复内容_python解决网站的反爬虫策略总结

    本文详细介绍了网站的反爬虫策略,在这里把我写爬虫以来遇到的各种反爬虫策略和应对的方法总结一下. 从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分.这里我们只讨论数据采集部分. 一般网站从三个方面 ...

  7. 如何用python爬股票数据_python爬虫股票数据,如何用python 爬虫抓取金融数据

    Q1:如何用python 爬虫抓取金融数据 获取数据是数据分析中必不可少的一部分,而网络爬虫是是获取数据的一个重要渠道之一.鉴于此,我拾起了Python这把利器,开启了网络爬虫之路. 本篇使用的版本为 ...

  8. Python爬虫 抓取大数据岗位招聘信息(51job为例)

    简单介绍一下爬虫原理.并给出 51job网站完整的爬虫方案. 爬虫基础知识 数据来源 网络爬虫的数据一般都来自服务器的响应结果,通常有html和json数据等,这两种数据也是网络爬虫的主要数据来源. ...

  9. python中plguba_Python量化交易进阶讲堂-爬虫抓取东方财富网股吧帖子

    欢迎大家订阅<Python实战-构建基于股票的量化交易系统>小册子,小册子会陆续推出与小册内容相关的专栏文章,对涉及到的知识点进行更全面的扩展介绍.本篇专栏为小册子内容的加推篇!!! 前言 ...

最新文章

  1. 在Java中将Double转换为Integer
  2. AttributeError: 'numpy.ndarray' object has no attribute 'value_counts'
  3. 阿里P9谈程序员程序员的青春饭
  4. mybatis里mapper.xml中SQL语句if语句嵌套if语句
  5. 基于机器学习和TFIDF的情感分类算法,详解自然语言处理
  6. 1012.log4cplus项目应用
  7. [毕业生的商业软件开发之路]系列文章目录规划
  8. Microsoft Project项目管理实践
  9. VC++运行库安装难题
  10. 有钱任性的农夫山泉,被迫踏上IPO?
  11. 输入一个整数,若为奇数则输出其平方根,否则输出其立方根(分别用单分支、双分支和条件运算实现)
  12. R可视化13|ggplot2-图层图形语法 (5)
  13. Semantic Parsing via Staged Query Graph Generation: Question Answering with Knowledge Base(笔记)
  14. 【创建Messages】
  15. 华为总裁办紧急发文!两个鸿蒙别傻傻分不清!
  16. 鸿蒙手机电脑无缝对接,华为鸿蒙超级终端功能曝光,自动连接附近设备实现无缝协同工作...
  17. Mac无法找到摄像头问题解决
  18. 数据中心液冷及冷却液行业分析:算力提升驱动,氟化液迎来机遇
  19. C++2:忽略的注意
  20. 嵌入式分享合集105

热门文章

  1. 计算机VB给abc排序编程,初学者必知:VB10个小编程
  2. Gir合并merge两个完全不同Git项目时出现fatal: refusing to merge unrelated histories的解决办法
  3. 苹果官网对xcode版本的要求
  4. 洛克菲勒给儿子的38封信(前14封选摘)
  5. 编排流程/规则,编排本身也需要很深的逻辑思考
  6. 注册自定义URL协议
  7. Linux进阶(3)--RAID简介
  8. 麦可思发布《2019年中国大学生就业报告》
  9. 【算法题】1834. 单线程 CPU
  10. 2020年9月程序员工资最新统计,以及中国编程语言9月排行榜​!