Python爬虫爬爬爬----有时间来看一下爬虫设计思路,爬虫原理,通用爬虫和聚焦爬虫的区别

什么是爬虫,为什么要用Python做爬虫,什么是聚焦爬虫,什么是通用爬虫?
小朋友,你是否有很多问号???
这篇博客来一一的解析一下

爬虫其实就是一段抓取网页数据的程序
那么爬虫怎样抓取网页数据呢?主要为以下内容:
我们首先要知道网页的以下基本特点:
1、每个网页都有自己的URL(统一资源定位符)来进行定位
2、网页都使用HTML(超文本标记语言)来描述页面信息
3、网页都使用HTTP、HTTPS(超文本传输协议)来传输HTML数据
基于以上特点,我们可以编写代码来得到我们想要的内容。

爬虫的设计思路如下:

1.首先确定需要爬取的网页URL地址.

2.通过HTTP、HTTPS协议来获取对应的HTML页面

3.提取HTML页面有用的数据

a.如果是需要的数据,就保存起来

b.如果是页面里的其他URL,那就继续执行第二步

那么我们为什么要选择Python做爬虫呢?其实能做爬虫的语言非常多,比如:PHP,Java,C/C++等等,但是相比较而言Python是最强大的,我们来一一看一下:

(1)PHP虽然是世界上最好的语言,但是它天生不是做爬虫的,它对多线程的支持不好,异步性不好,并发性处理不好,爬虫是工具性程序,对速度和效率要求比较高

(2)Java的网络爬虫生态圈很完善,是Python爬虫最大的对手,但是Java语言本身很笨拙,代码量很大,重构成本比较高,任何修改都会导致代码的大量变动.爬虫经常需要修改部分采集代码,不是很方便

(3)C/C++ 运行效率和性能几乎最强,但是学习成本很高,代码成型比较慢,能用C/C++做爬虫是能力的表现,但是不是正确的选择

(4)Python语法优美,代码简洁,开发效率高,支持的模块很多,模块几乎是最多的,相关的HTTP请求模块和HTML解析模块非常丰富,强大的爬虫框架Scrapy以及成熟高效的 Scrapy–redis分布式策略
而且,调用其他接口也非常方便(胶水语言)
综上我们选择Python做爬虫是最明智的选择。

根据使用场景,爬虫可以分为通用爬虫和聚焦爬虫

首先来看通用爬虫,其实我们平时搜索东西时,网页出现的百度快照,就是通用爬虫
在这里插入图片描述
网站下出现的 ‘ 百度快照 ’ ,点进去后的内容就是百度快照爬虫爬下来的内容。

通用爬虫具有以下特点:
1.目标:把互联网上所有的网页尽可能下载下来,放到本地服务器里面形成备份,再对这些网页做相关处理,比如提取关键字,去掉广告等,最后提供一个用户检索接口

-2 抓取流程:

a.选取一部分已有的URL,把这些URL放到待爬取队列

b.从队列里取出URL,然后解析DNS得到主机IP,然后去这个IP对应的服务器里下载HTML页面,保存到搜索引擎的本地服务器里,之后把这些爬过的URL放入已爬取队列

c.分析网页内容,找出网页里其他的URL链接,继续执行第二步,知道爬取条件结束

-3 搜索引擎

a.主动向搜索引擎提交网址:https://ziyuan.baidu.com/linksubmit/url

b.在其他网站设置网站的外链

c.搜索引擎会和DNS(把域名解析成IP的一种技术)服务商进行合作,可以快速收录新的网站,比如DNSPOD

-4 搜索引擎通用爬虫并不是万物皆可爬,也需要遵守一定规则:

Robots协议:协议会指明通用爬虫可以爬取网页的权限

Robots.txt:并不是所有爬虫都遵守,一般只有大型的搜索引擎爬虫才会遵守,
咱们个人写的爬虫就不用管了

-5 通用爬虫工作流程:爬取网页–存储数据–内容处理–提供检索/排名服务

-6 搜索引擎排名:

a.PageRank值:根据网站的流量(点击量/浏览量/人气)统计,流量越高,排名越靠前,网站也越值钱

b.竞价排名:谁给钱多,谁排名就高

-7 通用爬虫缺点:

a.只能提供和文本相关的内容(HTML,Word,PDF)等等,但是不能提供多媒体(音乐、图片、视频)和二进制文件

b.提供的结果千篇一律,不能针对不同背景领域的人提供不同的搜索结果

c.不能理解人类语义上的检索,

那么聚焦爬虫呢其实就是爬虫程序员写的针对某种内容的爬虫,也就是我们将要学习的爬虫,它是面向主题爬虫,面向需求爬虫,会针对某种特定的内容去爬取信息,而且会保证信息和内容需求尽可能相关

关注欢喜,走向成功~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值