热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

第1章网络爬虫的概述

一、爬虫简介日常需求:1)抢火车票2)在某个商城里买到质量,口碑,性价比好的商品3)考试或面试的时候,想看一些针对性的面试题4)批量下载图片、mp3、电影保存到本地5)在某个商城里

一、爬虫简介

日常需求:

1)抢火车票

2)在某个商城里买到质量,口碑,性价比好的商品

3)考试或面试的时候,想看一些针对性的面试题

4)批量下载图片、mp3、电影保存到本地

5)在某个商城里买到质量,口碑,性价比好的商品

6)找工作的时候,看看哪个地区某个工作岗位的招聘数量比较多


  什么是爬虫?

通过编写程序,模拟浏览器上网,让其去互联网上抓取数据的过程。

网络爬虫(也叫作网页蜘蛛,网络机器人),就是模拟客户端主要是浏览器发送请求,接收请求响应,按照一定的规则,自动抓取互联网信息的程序。

原则上: 只要客户端浏览器你鞥做的事情,爬虫都能够做,但是一般只能获取浏览器展示的数据。  

   爬虫的作用

1)数据采集:

① 抓取微博评论(机器学习舆情监控)

② 抓取招聘网站的招聘信息(数据分析、挖掘)

③ 抓取新闻,例如百度新闻

④ 抓取房产信息

2)软件测试

① selenium爬虫自动化测试

3) 投票,短信轰炸

  1.爬虫的价值?

我们现在是大数据的时代,可以通过爬虫去互联网上抓取大量的数据,然后通过大数据相关技术进行统计和分析。

求职网站搜索:爬虫,有爬虫工程师相关职位

2.爬虫究竟是合法还是违法的?

从入门到入狱,从同学到狱友,师傅领进门,判刑看个人

1)在法律中是不被禁止的,具有违法风险,例如菜刀

2)善意爬虫,恶意爬虫,抢票爬虫,每秒向12306发送几万次请求

爬虫的风险可以体现在:

1)爬虫干扰了被访问网站的正常运营

2)爬虫抓取了受到法律保护的特性类型的数据或信息

 

!!!编写爬虫注意事项

1)不爬用户的私人信息

2)不要过度爬取某个网站的内容:把别人网站搞宕机

   时常优化自己的程序,避免干扰被访问网站的正常运行

3) 爬取的内容不要损害别人的商业利益,遵守Robots协议(尽量遵守)

robots.txt协议:君子协议,明确规定网站中哪些数据可以被爬虫爬取,哪些数据不可以被爬取,全靠自觉。

4)在使用传播爬取到的数据时,需要审查抓取到的内容,如果发现了涉及到用户隐私或者商业机密等敏感内容,就需要及时停止爬取或传播


    爬虫在使用场景中的分类


1)    通用爬虫

    抓取系统的重要组成部分。抓取的是互联网中一整张页面数据。例如百度,谷歌,搜狗等搜索引擎

2)    聚焦爬虫

建立在通用爬虫的基础之上,抓取的是页面中特定的局部内容。定向抓取网页资源。

 

3)    增量式爬虫

监测网站中数据更新的情况,只会抓取网站中最新更新的数据

 

4)    深层网络爬虫

    大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得的Web页面。                                                                   例如用户登录或者注册才能访问的页面。


  爬虫的名词

反爬机制:

门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取。

反反爬策略:

爬虫程序可以通过制定相关的策略和技术手段,破解门户网站中具备的反爬机制,从而可以获取门户网站中相关的数据。


二、爬虫的结构

通用的爬虫结构:

爬虫的工作原理其实和使用浏览器访问网页的工作原理是完全一样的,都是根据HTTP来获取网页的内容。爬虫的工作流程:


1)       首先选取一部分种子 URL。

URL :  统一资源定位符(URL,英语Uniform Resource Locator的缩写)也被称为网页地址,是因特网上标准的资源的地址。

URL的样子:


https://www.galayun.com/home/course?typeId=1


URL的组成部分

协议部分: https://、http://、ftp://

域名部分: www.galayun.com

  域名:域名就是IP地址的别名,它是用点进行分割使用英文字母和数字组成的名字,使用域名目的就是方便的记住某台主机IP地址。

资源路径部分/home/coursel

URL的扩展:

https://www.galayun.com/home/course?typeId=1

查询参数部分:  ?typeId=1

参数说明:? 后面的typeId 表示参数,如果有多个参数使用 & 进行连接 

2)       然后将这些 URL 放入待抓取 URL 队列。

3)       从待抓取 URL 队列中读取待抓取队列的 URL,解析 DNS, 并且得到主机的 IP, 并将 URL 对应的网页 下载下来,存储进已下载网页库中。此外将这些 URL 放进已抓取 URL 队列。

4)       分析已抓取 URL 队列中的 URL,从已下载的网页数据中分析出其他 URL, 并和已抓取的 URL 进行 比较去重,最后将去重过的 URL 放人待抓取 URL 队列,从而进人下一个循环。 这是一个基础网络爬虫结构及其工作流程,在之后的章节会使用 Python 实现这种网络爬虫结构。

 



推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • windows便签快捷键_用了windows十几年,没想到竟然这么好用!隐藏的功能你知道吗?
    本文介绍了使用windows操作系统时的一些隐藏功能,包括便签快捷键、截图功能等。同时探讨了windows和macOS操作系统之间的优劣比较,以及人们对于这两个系统的不同看法。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 大连微软技术社区举办《.net core始于足下》活动,获得微软赛百味和易迪斯的赞助
    九月十五日,大连微软技术社区举办了《.net core始于足下》活动,共有51人报名参加,实际到场人数为43人,还有一位专程从北京赶来的同学。活动得到了微软赛百味和易迪斯的赞助,场地也由易迪斯提供。活动中大家积极交流,取得了非常成功的效果。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 家装日记六:家具采购和瓷砖选择
    本文记录了作者进行家装的过程,包括家具采购和瓷砖选择。作者介绍了自己家的装修风格以及选择烤漆家具和红白系列的原因。作者还提到了装修风格以简约为主,不可以太花哨的要求。最后,作者提到了价格较贵的问题。 ... [详细]
  • 本文讨论了当某位排位靠前的涉众提供了一张精美的界面图片时,是否可以将其作为设计约束。同时还探讨了高质量素材和愿景之间的关系,以及老大自身的软件方法和建模技能。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
author-avatar
天生笑丷丶话
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有