初识爬虫
经过前面Python基础内容的学习,相信好多小伙伴都感觉一身本事,但是无用武之地吧,哈哈哈。。。,不要着急,如你们的愿,在爬虫阶段,我们就大胆的把基础部分的内容应用一下吧~~此时此刻,你准备好了吗?我们要开始爬虫的学习之路喽
1.爬虫简介
模拟浏览器,发送请求,获取响应
网络爬虫,英文名为Spider,又称为网页蜘蛛,网络机器人,在数据分析应用中,更多的将爬虫称为数据采集程序,是一种按照一定的规则,自动地抓取网络信息的程序或者脚本。
• 原则上,只要是客户端(浏览器)能做的事情,爬虫都能够做
• 爬虫也只能获取客户端(浏览器)所展示出来的数据
网络中的数据可以是由web服务器【Nginx/Apache】,数据库服务【MySQL/Redis/MongoDB】,索引库,大数据,视频/图片库,云存储【阿里云的OSS】等提供的,最主要的来源是Web服务器
不过,大家一定要注意哦,可爬取的数据必须是公开的,非盈利的,如:如果侵入人家非公开的网络,人家会通过ip定位到你,属于违法行为的哦,再或者,一些理财的网站,如果爬取数据,肯定是不可以的,如果小伙伴们不听话,非要去爬取,那任何人都是保护不了你的哦,狗头保命~~~
有名的爬虫案件:简历大数据公司“巧达科技”被一锅端、“车来了”涉嫌偷数据被警方立案等
2.爬虫分类
通用爬虫:
通用网络爬虫从互联网中搜集网页,采集信息,这些网页信息决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果
大家要注意哦,通用爬虫虽然简单,方便,但是缺点也是显而易见的,小助手给大家列举了几点,大家可以了解一下:
a.通用搜索引擎所返回的结果都是网页,而大多情况下,网页里90%的内容对用户来说都是无用的。
b.不同领域、不同背景的用户往往具有不同的检索目的和需求,搜索引擎无法提供针对具体某个用户的搜索结果。
c.万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频、视频多媒体等不同数据大量出现,通用搜索引擎对这些文件无能为力,不能很好地发现和获取。
d.通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询,无法准确理解用户的具体需求。
聚焦爬虫:
聚焦爬虫,是"面向特定主题需求"的一种网络爬虫程序,它与通用搜索引擎爬虫的区别在于: 聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息, 如12306抢票,或专门抓取某一个(某一类)网站数据
根据是否以获取数据为目的,可以分为:
• 功能性爬虫,给你喜欢的明星投票、点赞
• 数据增量爬虫,比如招聘信息
根据url地址和对应的页面内容是否改变,数据增量爬虫可以分为:
• 基于url地址变化、内容也随之变化的数据增量爬虫
• url地址不变、内容变化的数据增量爬虫
看到这里,大家是不是发现通用爬虫简单,但是不实用,聚焦爬虫应用比较广泛,而且实用,但是实现起来难度较大,不过没事的哈,有小助手的帮助,我们都能学会的,奥利给!!!
3.爬虫的作用
爬虫在互联网世界中有很多的作用,比如:
数据采集,比如:
• 抓取微博评论(机器学习舆情监控)
• 抓取招聘网站的招聘信息(数据分析、挖掘)
• 新浪滚动新闻
• 百度新闻网站
软件测试
• 爬虫之自动化测试
自动化测试所必需的selenium . selenium是一个用于Web应用程序测试的工具,selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。 支持的浏览器包括IE,chrome和Firefox等。其实就是借助于selenium做爬虫的事情。
抢票和投票
• 12306抢票
• 投票网
网络安全
• 短信轰炸
• web漏洞扫描
4.技术步骤
第一步:爬取数据,实际上就是根据一个网址向服务器发起网络请求,获取到服务器返回的数据
第二步:解析数据,将服务器返回的数据转换为人容易理解的样式
第三步:筛选数据,从大量的数据中筛选出需要的数据
第四步:存储数据,将筛选出来的有用的数据存储起来,如:数据库,CSV文件,Excel文件,JSON文件等
只要小伙伴们按照这四个步骤操作,实现一个爬虫任务还是很简单的
我们本节课的内容就到此结束啦,通过本节课的学习,我们对爬虫有了大概的认识,并大概了解了爬虫相关的一些相关技术,有了这些概念的加持,对我们学习后面的内容会有很大的帮助,期待大家学习完爬虫的全部课程之后,能有一个不错的收获。更多关于“Python培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。