WebHTML代码分析的基本原理及区分
优采云 发布时间: 2021-08-04 18:01WebHTML代码分析的基本原理及区分
内容
1.搜索引擎原理
1、基本概念
来自中文维基百科的解释:(互联网)搜索引擎是指自动从互联网上采集信息,并经过一定的排序,为用户提供查询的系统。
来自英文维基百科的解释:网络搜索引擎提供了一个界面来搜索万维网上的信息。信息可能包括网页、图像和其他类型的文件。 (网络搜索引擎提供了一个界面,可以在万维网上搜索信息。信息内容,包括网页、图片和其他类型的文档)
2、Classification
根据工作原理的不同,可以分为两个基本类别:全文搜索引擎和目录)。
分类是人工采集整理网站数据形成数据库,比如雅虎中国和国内搜狐、新浪、网易的目录。此外,互联网上的一些导航网站也可以归入原创分类目录,例如“网站之家”()。
全文搜索引擎以自动方式分析网页的超链接,依靠超链接和HTML代码的分析来获取网页的信息内容,并根据预先设计的规则对其进行分析和组织形成索引供用户查询。
两者的区别可以用一句话概括:分类目录是网站手动创建的索引,全文搜索是自动创建的网页索引。 (有些人经常将搜索引擎与数据库搜索进行比较,但实际上他们错了)。
3、全文搜索是如何工作的
全文搜索引擎一般信息采集、索引、搜索三部分,详细信息可以由搜索器、分析器、索引器、搜索器和用户界面组成。
(1)信息采集(Webcrawling):information采集的工作由搜索者和分析者共同完成。搜索引擎使用爬虫、蜘蛛或网络机器人。(机器人)自动搜索机器人程序进行查询网页上的超链接。
进一步解释:“机器人”实际上是一些基于 Web 的程序。他们通过请求网站上的 HTML 页面来响应采集 HTML 页面。它遍历指定范围内的整个Web空间,并从一个网页开始。转到另一个网页,从一个站点移动到另一个站点,将网页采集 添加到网页数据库中。 “机器人”每次遇到一个新的网页,都要搜索里面的所有链接,所以理论上来说,如果为“机器人”建立了一个合适的初始页面集,从这个初始页面集开始,所有的链接都是穿越,“机器人”将能够采集到达整个网络空间的网页。
互联网上很多开源爬虫程序都可以在一些开源社区找到。
关键点1:核心在于html分析,所以严谨、结构化、可读、无错误的html代码更容易被采集Robot和采集分析。比如一个页面有这样的结尾,在页面上显示是没有问题的,但是很可能会被采集收录拒绝,比如../这样的超链接。 ./***.htm ,也可能导致蜘蛛无法识别。这也是需要推广Web标准的原因之一。按照网络标准制作的网页更容易被搜索引擎和收录检索到。
关键点2:搜索机器人有专门的搜索链接库。搜索同一个超链接时,会自动比较新旧网页的内容和大小。如果它们相同,则它们不会是采集。所以有人担心修改后的网页能不能收录,这是多余的。
(2)Indexing):搜索引擎组织信息的过程称为“索引”。搜索引擎不仅要保存采集到的信息,还要按照一定的规则进行排列。索引可以使用一般的大型数据库如ORACLE、Sybase等,也可以存储为自己定义的文件格式。索引是搜索中比较复杂的部分,涉及到网页结构分析、分词、排序等技术。一个好的索引可以大大提高搜索速度。
关键点1:虽然目前的搜索引擎支持增量索引,但创建索引仍然需要很长时间。搜索引擎会定期更新索引,所以即使爬虫来了,我们也可以在页面上搜索,会有一定的时间间隔。
关键点 2:索引是区分好搜索和坏搜索的重要标志。
(3)Searching(Searching):用户向搜索引擎发送查询,搜索引擎接受查询并将信息返回给用户。有些系统在返回结果之前会计算和评估网页的相关性,并根据相关度按相关度排序,将相关度高的放在前,相关度低的放在后面;有些系统在用户查询之前已经计算了每个页面的页面排名(PageRank会在后面介绍) ),并将查询结果返回给页面,排名靠前的放在前面,排名靠后的放在后面。
关键点1:不同的搜索引擎有不同的排序规则,所以如果在不同的搜索引擎中搜索相同的关键词,排序是不同的。
1.1 百度搜索引擎的工作原理
我所知道的百度搜索:由于工作原因,小生有幸一直在使用百度的Bestcom企业搜索引擎(这个部门现在已经下岗了,主要是因为百度的战略已经开始向谷歌靠拢,不再卖了搜索引擎分开,转向搜索服务)。据百度销售人员介绍,Besttone的搜索核心与Big Search相同,只是版本可能略低,所以我有理由相信搜索的工作原理类似。以下是一些简单的介绍和注意事项:
1、关于网站搜索更新频率
百度搜索可以设置网站的更新频率和时间。一般网站的更新频率非常快,会设置独立的爬虫进行跟踪,但百度比较勤快,中小网站一般每天更新。所以,如果你想让你的网站更新更快,最好把你的链接放在一个大分类目录(比如yahoosina网易),或者百度自己的相关网站,你网站的超链接在或者你的网站在一些大网站,比如大网站的博客。
2、关于采集的深度
百度搜索可以定义采集的深度,也就是说百度不一定会检索到你所有的网站内容。它可能只会索引你的网站主页的内容,特别是对于小网站。
3、About 采集经常无法与网站交流
百度对网站的连接有特殊判断。如果某个网站没有连接,尤其是一些中小网站,百度会自动停止向这些网站发送爬虫,所以选择一个好的服务器很重要,保持网站24小时开放。
4、网站关于更换IP
百度搜索可以基于域名或IP地址。如果是域名,会自动解析为对应的ip地址。因此,会有两个问题。第一,如果你的网站和别人使用相同的IP地址,如果别人的网站被百度处罚,你的网站就会受到牵连。二是如果你换了ip地址,百度会发现你的域名和之前的ip地址不对应,拒绝去找你。 网站 派遣了一个爬虫。所以建议不要随意更改ip地址。如果可能,尽量单独享受ip。保持网站的稳定很重要。
5、关于静态和动态网站采集
很多人担心像asp?id=这样的页面是不是很难采集,像html这样的页面容易采集。事实上,情况并没有想象的那么糟糕。现在大部分搜索引擎都支持动态网站的采集和搜索,包括需要登录的网站都可以搜索到,所以你不用担心自己的动态网站搜索引擎不能够识别它。可以自定义百度搜索中的动态支持。但是,如果可能,请尝试生成静态页面。同时,对于大多数搜索引擎来说,脚本跳转(JS)、框架(frame)、
Flash 超链接,动态页面中含有非法字符的页面无能为力。
6、关于索引的消失
如前所述,需要创建搜索索引。通常,对于良好的搜索,索引是文本文件,而不是数据库。因此,删除索引中的记录并不是一件方便的事情。例如,百度需要使用特殊工具手动删除索引记录。据百度员工介绍,百度有一群人负责这件事——受理投诉、删除记录、人工。当然也可以直接删除某个规则下的所有索引,即可以删除某个网站下的所有索引。还有一个机制(未验证),即在索引过程中也会删除过期网页和作弊网页(主要是网页标题、关键词和内容不匹配)。
7、关于重复数据删除
百度搜索的去重不如谷歌的理想。主要是区分文章的标题和来源地址。只要不一样,就不会自动去重,所以不用担心采集内容一样,被搜到快罚分,谷歌不一样,一样的人不多标题同时是收录。
此外,不要认为搜索引擎很聪明。基本上,它们遵循一定的规则和公式。如果你不想被搜索引擎惩罚,就避开这些规则。
1.2Google 搜索排名技术
搜索方面,谷歌优于百度。主要原因是谷歌更公平。百度人为因素很多(也符合我国国情)。 Google 的公平性来自其排名技术 PageRank。
很多人都知道PageRank是网站的质量等级。 网站 越小越好。事实上,PageRank 是通过一个特殊的公式计算出来的。当我们在 Google 上搜索关键词 时,页面排名较低的页面的排名会更高。这个公式不涉及人为干预,所以是公平的。
PageRank的最初想法来自纸质档案的管理。我们知道每篇论文的末尾都有参考文献。如果某个文章被不同的论文多次引用,可以认为这篇文章是一篇优秀的文章。 文章。
同样,简而言之,PageRank 可以对网页的重要性做出客观的评估。 PageRank 不计算直接链接的数量,而是将网页 A 到网页 B 的链接解释为网页 A 到网页 B 的投票。这样,PageRank 将根据收到的投票数来评估该页面的重要性B页面。此外,PageRank还会评估每个投票页面的重要性,因为某些页面的投票被认为具有更高的价值,因此它所链接的页面可以获得更高的价值。
这里省略了Page Rank的公式,说说影响Page Rank的主要因素
1、 指向你的网站的超链接数(你的网站被别人引用了)。值越大,您的网站 就越重要。通俗的说就是其他网站无论是友情链接,还是你的网站的推荐链接;
2、超LINK 你的网站的重要性,说明质量好的网站有你的网站超链接,说明你的网站也很优秀。
3、网页特定因素:包括网页的内容、标题和网址,即网页的关键词和位置。
1.3新网站如何回复搜索
以下是对以上分析的总结:
1、搜索引擎为什么不是收录你的网站,有以下几种可能(不是绝对的,要看各自情况)
(1)没有任何岛屿网页链接,也没有收录的网站指向你的超链接,搜索引擎将无法找到你;
(2)网站网页性质和文件类型(如flash、JS跳转、一些动态网页、frame等)搜索引擎无法识别;
(3)你的网站服务器被搜索引擎惩罚的地方,和收录不一样的IP内容;
(4)最近更改了服务器的IP地址,搜索引擎需要一段时间重新采集;
(5)服务器不稳定,频繁宕机,或者无法承受采集的爬取压力;
(6)网页代码低劣,搜索无法正确解析页面内容,请至少学习HTML的基本语法,推荐XHTML;
(7)网站使用robots(robots.txt)协议拒绝搜索引擎抓取的网页;
(8)使用关键词作弊网页,该网页的关键词与内容严重不符,或者某些关键词过于密集;
(9)page 含有非法内容;
(10)同网站有大量同名网页,或者网页标题没有实际意义;
2、新站怎么做(仅供参考)
(1)和优秀的网站交流链接;
(2)Widely 登录各种网站网站目录列表;
(3)多去优质论坛发言,发言质量要好,最好不要回复。在发言中留下网站地址;
(4)应用大网站的博客(新浪、网易、CSDN),并在博客中宣传自己的网站;
(5)使用好的建站程序,最好生成静态页面,自动生成关键词;
(6)注意每个网页的标题和区域,尽量把匹配的关键词放在这些容易被搜索和索引的位置,注意文章的开头,并尝试从文章开头的一些使用类似abstracts的功能开始(可以学习网易的文章风格)。
例如,“基于开源 jabber (XMPP) 构建内部即时消息服务的解决方案”;
标题部分:一种基于开源jabber(XMPP)构建内部即时通讯服务的解决方案-肥龙(消耗品)专栏-CSDNBlog
关键词Part:安装,">
文章Description 部分:是知名的即时通讯服务器。它是一个免费的开源软件,允许用户建立自己的即时通讯服务器,可以在互联网或局域网中使用。
XMPP(可扩展消息处理现场协议)是一种基于可扩展标记语言(XML)的协议,用于即时通讯(IM)和在线现场检测。正在推广服务器
中间的准实时操作。该协议最终可能允许 Internet 用户向 Internet 上的任何其他人发送即时消息,即使他们的操作系统和浏览器不同。 XMPP的技术来源于
对于Jabber来说,它其实是Jabber的核心协议,所以XMPP有时会被误称为Jabber协议。 Jabber 是一个基于 XMPP 协议的 IM 应用程序。除了 Jabber,XMPP 还支持很多应用。
2SEO优化要点
从业务角度来看,前端工程师所涉及的 SEO 推荐最重要的方面是:URL、移动友好性、性能、页面元素和内容呈现。
2.1 URL 的三要素
URL 是 SEO 工作的基础,也是一个容易被忽视的因素。 URL必须注意以下三个方面:
首先来说说第一点。不同的内容使用不同的 URL 来接受。当我们的前端工程师在处理一些主题时,他们经常使用 JS 来呈现网页内容,而不是单独的 URL。例如这个页面:
当用户点击一个类别时,前端工程师会用新获取的内容更新原创页面,而不会生成新的 URL。这导致此频道只有一个网址。
SEO放置的时候,其实是按照页面的纬度来放置的。如果这个特殊页面只有一个URL,即只能投递一个网页,而该类别的那些页面因为没有生成单独的URL而无法投递(一般投递的页面越多,SEO流量就越大)生成)。
其次,URL 的唯一性。一般情况下,网址和网页是一一对应的。一个网页只有一个网址,一个网址只携带一个有主题的网页。 (注意:如果一个网页有多个 URL,可以使用 canonical 来指定规范 URL)。
最后,URL 应该简短易读。谷歌在整个网站中会根据网址来判断网页的等级,所以不要使用过长的网址。而且,简短易读的网址会给用户带来更好的体验,吸引用户点击(尤其是英文网址)。
注意:Google 不排除动态网址。例如,WordPress 的标准 URL (?p=) 是动态的。但是需要解决参数过多,参数顺序不一致的问题。
参考文档:“保持简单的 URL 结构”
2.2 不可忽视的移动端
还有一些前端的朋友还是和以前一样,认为PC网页做好就够了。而且产品和老板都是用电脑浏览,没有问题。但事实上,在大多数国家和地区,移动流量已经超过了PC流量。
根据statcounter的数据,2016年11月移动端流量已经超过PC端,因此移动端网页也不容忽视。
Google 推出了移动网页索引,该索引以移动网页为主页面(以前基于 PC)。
对于移动网页,Google 有三种配置方式:自适应设计、动态内容提供和单独的 URL。此外,谷歌还推出了AMP框架,可以缓存内容和静态文件,性能更快(国内百度和搜狗也兼容)。
参考文档:
2.3 速度/性能直接影响SEO
直接影响SEO的速度指标有两个,一个是TTFB,一个是网页打开时间。
TTFB 直接影响爬虫的爬取。首先,大部分爬虫还是爬取网页源代码,不渲染;其次,每个网站 都有一个有限的爬网配额。更高效的爬虫访问将带来更多的收录数量。 ,从而产生流量。
(注:爬虫技术也在发展,现在可以识别出部分JS内容,但是因为效率低,这部分比例还是比较小。)
网页的打开时间会影响用户的搜索体验,也是谷歌公开排名的因素之一。网页打开越慢,用户跳出率越高,就会被识别为Bad Click,从而降低排名。以下是站长官博文章关于速度对排名的影响:
Google 在 PageSpeed 之后推出了 Lighthouse 项目,以帮助站长优化网页性能。从我的实际测试来看,Lighthouse 的功能更加强大,更加符合现在的网络技术,远远超过了之前的 YSlow 和 PageSpeed。
参考文档:
2.4 页面元素的三种类型
页面元素对搜索引擎优化也有影响,可以根据重要性分为三个级别:
TDK是Title、Description、Keywords这三个标签的缩写,其中Title和Description是最重要的,直接影响SEO(简称SERP)的搜索词和搜索结果的展示。面包屑导航和结构化数据也直接影响 SERP。
H 标签和 ALT 标签帮助搜索引擎了解网页的关键内容和图片。
参考文档:“在搜索结果中创建好的标题和摘要”
2.5 重要内容最好同步展示
谷歌官方文档曾经说过:
大多数“蜘蛛”程序以与 Lynx 相同的方式查看网站。如果由于 JavaScript、Cookie、Session ID、DHTML 或 Macromedia Flash 等技术无法在文本浏览器中看到整个网站,“蜘蛛”程序也可能会遇到这种网站 麻烦。
之前参加谷歌会议时,了解到Googlebot已经可以抓取解析简单的JS,并且可以通过CSS识别重要内容。但是从成本上来看,解析识别JS和CSS的效率还是很低的(比起仅仅抓取源码)。所以谷歌还是建议重要内容同步显示,而不是异步显示。
谷歌今年还引入了动态渲染技术作为临时解决方案。以下是动态呈现技术的原型:
参考文档:
3 网站代码优化实践3.1 优化重点
1.Title:
标题要强调重点,重要的关键词放在前面,不要重复,不要每个页面设置相同的标题;
2.关键词:
随便列举几个关键词,不要堆太多;
3.网页描述:
这里应该是对网页内容的高层次总结,不要太长,每个页面的描述应该不同。
4.对于网页中的代码,我们必须遵循语义代码(html标签有其特定的含义,在合适的地方使用合适的标签,让人们和搜索引擎程序一目了然)一目了然)
如何使其语义化?
(1)h1~h6 标签多用于标题
(2)ul 标签多用于无序列表
(3)ol 标签用于有序列表
(4)dl 标签用于定义数据列表
(5)em,strong 表示强调
(6)span 标签是 html 中语义最少的
3.2 标签优化
1/Tag:添加链接描述标题,并在指向其他网站的链接中添加“rel=nofollow”,以免爬取此链接。
2/Tag:网站的标题不要只用h还要用,因为爬虫最重要,样式太大,用css修改不了。使用正文的标题并使用副标题。不要在其他不重要的地方滥用 h 标签。
3/
标签和