目录
爬取数据的目的:
1.获取大量数据,用于做数据分析
2.公司项目的测试数据,公司业务所需数据
企业获取数据的方式
1.公司自有数据
2.第三方数据平台购买(数据堂,贵阳大数据交易所)
3.爬虫爬取数据
可以用于做爬虫的程序语言
1.Python
2.PHP
3.JAVA
4.C/C++
爬虫分类
1.通用网络爬虫(搜索引擎使用,遵守robots协议)
2.聚焦网络爬虫
爬虫爬取数据的步骤
1.确定需要爬取的URL地址
2.由请求模块向URL地址发出请求,并获得响应
3.从响应类容中获取数据
4.数据分析和二次爬取
爬取数据的目的:
1.获取大量数据,用于做数据分析
当公司想要开发一个新的项目,肯定需要做市场调研,这就需要大量的数据,可以从同类型项目历年来的数据爬取下来,把数据经过处理后得到可观的图表,从而预测项目开发后可能获得的收益。
2.公司项目的测试数据,公司业务所需数据
当公司开发了一个新项目或新模块,在没有测试数据的情况下,就会要求爬虫工程师去各大网站上爬取热点数据。比如开发了一个新闻网站,爬虫工程师就会去各大成熟的新闻网站上爬取实时的热点新闻,经过数据加工处理后发布到自己的新闻网站。然后再由测试工程师测试网站的网络负载量、流量、CPU负载等信息。
企业获取数据的方式
1.公司自有数据
顾名思义,就是公司以往的数据,可能是纸质的,这时候需要将纸质数据录入到计算机中。也可能是公司数据库中的,只是没有经过加工处理。
2.第三方数据平台购买(数据堂,贵阳大数据交易所)
如果想要买到如房产,金融,医疗,消费,工业等数据,可以去一些比较正规的售卖数据的公司去购买。如数据堂和贵阳大数据交易所,当然,根据你想要数据的珍稀程度,价格也相对来说不菲。总而言之,在第三方平台购买数据是非常昂贵的。
3.爬虫爬取数据
当然,我们也可以通过爬虫工具来爬取数据,这样的方式相对来说较为廉价,也更加灵活,缺点也比较明显,首先是数据的来源和有效性不能保证,二是涉及某些违法的操作是不允许的,三是能否爬取到有价值的数据绝大程度上取决于该爬虫工程师的技术水平。公司里会设置这样的爬虫工程师岗位,专门来做数据的爬取,如果一个爬虫工程师一年的工资是20W,那么当公司去购买第三方数据的价格小于20W时,公司多半就不会设置爬虫工程师的岗位,当然,这也取决于公司的财力与规模,较成熟的公司一般都会设有爬虫工程师的岗位。
可以用于做爬虫的程序语言
1.Python
请求模块,解析模块丰富成熟,拥有Scrapy网络爬虫框架
2.PHP
对多线程、异步支持不太好
3.JAVA
代码笨重,代码量大
4.C/C++
效率高,但是开发速度慢
爬虫分类
1.通用网络爬虫(搜索引擎使用,遵守robots协议)
国内像百度,360,搜狐等公司,就是利用的爬虫来爬取页面,实际上我们几乎天天都在使用百度的搜索功能,那么实质上也是在使用网络爬虫来爬取数据,而这里的数据其实是我们想查看的某个网站的相关信息,或者某一类型网站的相关信息。
robots协议:
robots协议也叫robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)。
如淘宝网站的robots.txt:/robots.txt
robots协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。
2.聚焦网络爬虫
聚焦网络爬虫就是自己写的爬虫程序,不需要遵守robots协议,你可以根据自己的想法来编写爬虫程序。
爬虫爬取数据的步骤
1.确定需要爬取的URL地址
爬取数据的前提是获取URL地址,URL是统一资源定位符,它规定了某个页面(文件)存放在何处。只有获取了这个网页文件后,才可以对后续的数据进行爬取。
2.由请求模块向URL地址发出请求,并获得响应
委托相关语言的请求模块,模拟人的操作去发送请求。
3.从响应类容中获取数据
获得完数据后,保存到本地。得到的数据就是如图 下所示的。
4.数据分析和二次爬取
经过了前三步后,此时我们已经有整个网页的数据文件了,只不过数据的格式可能是不友好的。这时候就需要爬虫工程师对数据进行处理,按照编排的格式收集数据。在这个过程中,一个网页下面可能有其他的URL地址,如果需要进一步跟进(爬取),那么又会重复第二步到第四步去处理,如何循环(这个又叫做递归爬虫)。
网络爬虫入门:网络爬虫的目的 企业获取数据的方式 可以用于做爬虫的程序语言 爬虫爬取数据的步骤