WebHTML代码分析的基本原理及区分

优采云 发布时间: 2021-08-04 18:01

  WebHTML代码分析的基本原理及区分

  内容

  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/

  标签和

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线