爬虫简介

2018-12-18  本文已影响0人  小袋鼠cf

爬虫:

网络爬虫机器人,以互联网自由抓取数据的程序

爬虫的作用:

如何写一个爬虫?

网页的三大特征:

爬虫的流程:

可以写爬虫的语言:

PHP

是用来写后端的,对于异步和多任务处理不太好,爬虫是一个工具性的程序,对效率要求比较高

JAVA

是Python写爬虫的最大竞争对手,Java语言生态系统比较完善,对各模块的支持也比较友好。但是Java这门语言比较笨重,重构和迭代成本比价高

C/C++

语言较难,代码成型比较慢

Python

语法简单简洁,第三方模块比较丰富,关于爬虫的网络请求模块和网络解析模块(Lxml,BeautifulSoup,pyQuery)也比较多,并且有高效稳定的scrapy网络爬虫框架,以及爬scrapy,redis分布式爬虫框架,Python也是一门胶水语言,对于其他语言的调用比较方便

爬虫分类:

通用爬虫 聚焦爬虫

通用爬虫

是搜索引擎的重要组成部分

目的

尽可能的将所有互联网上的网页下载到本地,经过预处理(去噪,分词,去广告),最终将数据储存到本地,做一个镜像备份形成一个检索系统

通用爬虫抓取网络流程:

1.选取一部分的url作为种子url,将这些url放入到带爬取的任务队列里面
2.从待爬取的任务列队中取出url,发起请求,将获取的网页源码存储到本地
并将已经爬取过的url ,放到已爬取的队列中
3.从已爬取的URL的响应结果中分析提取其他的url的地址,继续添加到待爬取的队列中,
之后就是不断的循环,直到所有的url都获取完毕。

通用爬虫中的种子url如何获取:

1.通过网站提交自己的网站地址(http://www.baidu.com/
2.搜索引擎会和DNS服务商合作,拿到最新的网站地址
3.网站中包含其他外链

DNS服务:将我们的域名转换为对应的ip的一种技术

通用爬虫的整体流程:

数据获取------>预处理(去噪,分词,去广告.....)------>存储------>提供检索接口|排名(网络排名)

网站排名:
1.根据用户的访问量(越多越靠前)
2.竞价排名

通用爬虫的缺点:

1.必须遵守robot协议:就是一个规范,告诉搜索引擎,哪些目录下的资源允许爬虫,哪些目录下的资源不允许爬虫
"user-agent":这项值用来表示是哪家的搜索引擎
"allow":允许被爬取的url
"disallow":不允许被爬取的url
2.搜索引擎返回的都是网页,并且返回的90%都是无用的信息
3.不能够根据不同用户的需求返回不同的结果
4.通用爬虫对于多媒体的文件不能够获取

聚焦爬虫

聚焦爬虫是面向主题的爬虫,在爬虫数据的过程中会对数据进行筛选,往往只会爬虫与需求相关的数据

windows下安装虚拟环境

https://www.jianshu.com/p/a22cfdcc2558

上一篇下一篇

猜你喜欢

热点阅读