怎样抓取网页数据(百度抓取器会和网站首页的交互设计)
优采云 发布时间: 2021-10-15 21:16怎样抓取网页数据(百度抓取器会和网站首页的交互设计)
首先,百度的爬虫会与网站的首页进行交互。拿到网站的主页后,会理解页面,理解收录(类型,值计算),其次,网站把主页上的所有超链接都提取出来。
如上图所示,首页上的超链接称为“post-links”。下一轮爬虫的时候,爬虫会继续和这些超链接的页面进行交互,得到页面进行细化,一层一层的继续下去。抓取一层,构成一个抓取循环。
一、爬取友好优化1、URL规范
任何资源都是通过 URL 获取的。URL是相对于网站的门牌号,所以URL规划很重要。尤其是在如上图所示的“待抓取网址”环境中,爬虫在首页的时候,并不知道网址长什么样子。
优秀网址的特点是主流、简单,你可能不想做出一些让人看起来直观的非主流风格。
优秀 URL 示例:
如上图,第一个是百度知道的链接。整个链接分为三个部分。第一部分是网站的站点,第二部分是资源类型,第三部分是资源ID。这种网址很简单,爬虫看起来很不错。
如上图,第三篇文章比百度多了一段。首先,第一段是网站的站点,第二段是站点的一级目录,第三段是站点的二级目录,最后一段是内容ID的网站。像这样的 URL 也符合标准。
不友好 URL 的示例:
如上图所示,这种链接乍一看很长很复杂。有经验的站长可以看到,这种URL收录字符,而这个URL收录文章的标题,导致URL很长。相对较长的 URL 并不优于简单的 URL。百度站长平台规则明确规定网址不能超过256字节。我个人建议 URL 长度控制在 100 字节和 100 个字符以内。足以显示资源的 URL。
如上图所示,该网址收录统计参数,可能导致重复爬取,浪费站点权限。因此,可能不使用参数。如果必须使用参数,也可以保留必要的参数。参数字符可以使用常规字符。连接器,例如“?” 和“&”,避免非主流连接器。
2、 合理发现链接
爬虫从首页一层一层的爬取,所以需要搞好首页和资源页的URL关系。这种爬虫爬行比较省力。
如上图所示,从首页到具体内容的超链接路径关系称为发现链接。目前大部分移动站不太重视发现链接关系,因此爬虫无法抓取到内容页面。
如上图所示,这两个站点是常见的移动网站构建方式。从链接发现的角度来看,这两类网站并不友好。
馈送流建议:
大多数进行流式传输的网站在后台都有大量数据。用户不断刷新时会出现新的内容,但无论刷新多少次,可能只能刷新到1%左右的内容,而爬虫等价于一个用户不可能爬取全部内容网站 这种方式,所以有些页面不会被抓取。即使您有 100 万个内容,您也可能只能对其进行抓取。1-2百万。
仅搜索条目:
如上图所示,首页只有一个搜索框。用户需要输入关键词才能找到对应的内容,但是爬虫不能输入关键词再爬,所以爬虫只能爬到首页后,没有反向链接,而且自然爬行和 收录 会不令人满意。
解决方案:
索引页下的内容按出版时间倒序排列。这样做的好处是搜索引擎甚至可以通过索引页抓取你的网站最新资源,并且新发布的资源应该在索引页中实时同步。,很多纯静态网页,内容更新了,但是首页(索引页)不出来。这会导致搜索引擎甚至无法通过索引页面抓取最新的资源。第三点是后链(latest文章的URL)需要在源码中直接暴露出来,方便搜索引擎抓取。最后,索引页不要越多越好。几个高质量的索引页就够了,比如长城,基本上只用首页来做。索引页。
最后,这里给大家一个更高效的解决方案,就是直接通过百度站长资源平台主动提交资源,让搜索引擎绕过索引页,直接抓取最新的资源。这里有两点需要注意。
Q:提交更多资源更好吗?
A:收录 效果的核心永远是内容的质量。如果大量低质量、泛滥的资源被提交,将导致惩罚性打击。
Q:为什么我提交了普通的收录却没有被抓到?
A:资源提交只能加速资源发现,不能保证短期抓取。当然,百度表示不断优化算法,让优质内容更快被抓取。
3、访问友好
抓取器必须与网站进行交互并保证网站的稳定性,这样抓取器才能正常抓取。那么访问友好性主要包括以下几个方面。
访问速度优化:
加载时间建议控制在2S以内,所以无论是用户还是爬虫,打开速度更快的网站会更受青睐,避免不必要的跳转。这种情况虽然是一小部分,但是在网站中还是有很多层次的跳转,所以对于爬虫来说,很有可能会在多层次跳转的同时断开。一般是把不带www的域名重定向到带WWW的域名,然后带WWW的域名需要重定向到https,最后更换新站。在这种情况下,将有三个或四个级别的重定向。如果有类似网站的修改,建议直接跳转到新域名。