php 循环抓取网页内容(详解如何通过创建Robots.txt来解决网站被重复抓取)
优采云 发布时间: 2021-12-10 07:04php 循环抓取网页内容(详解如何通过创建Robots.txt来解决网站被重复抓取)
当我们使用百度统计中的SEO建议查看网站时,发现“静态页面参数”被扣了18分。扣分的原因是“在静态页面上使用动态参数会导致更多的蜘蛛”。和重复爬取”。一般来说,在静态页面上使用少量的动态参数不会对蜘蛛爬行产生任何影响,但是如果在一个网站静态页面上使用过多的动态参数,则可能会导致一只蜘蛛到底 爬了很多次,反反复复。
为了解决“静态页面使用动态参数会导致蜘蛛多次重复抓取”的SEO问题,我们需要使用Robots.txt(机器人协议)来限制百度蜘蛛抓取网站页面, robots.txt 是一个协议,而不是一个命令。robots.txt是搜索引擎访问网站时首先要检查的文件。robots.txt 文件告诉蜘蛛可以在服务器上查看哪些文件。搜索蜘蛛访问站点时,首先会检查站点根目录下是否存在robots.txt。如果存在,搜索机器人会根据文件内容确定访问范围;如果该文件不存在,所有 'S 搜索蜘蛛将能够访问 网站 上所有不受密码保护的页面。
详细说明如何通过创建Robots.txt解决网站被重复抓取的问题,我们只需要设置一个语法即可。
用户代理:百度蜘蛛(仅对百度蜘蛛有效)
Disallow: /*?* (禁止访问 网站 中的所有动态页面)
这样可以防止动态页面被百度收录,避免网站被蜘蛛反复抓取。有人说:“我的网站使用的是伪静态页面,每个URL前面都有html?我该怎么办?” 在这种情况下,请使用另一种语法。
用户代理:百度蜘蛛(仅对百度蜘蛛有效)
允许:.htm$(只允许访问带有“.htm”后缀的 URL)
这允许百度蜘蛛只收录 你的静态页面而不索引动态页面。其实SEO的知识还是很多的,需要我们一步步摸索,通过实践发现真相。网站 注重用户体验是长远发展的基点。
禁止网站被搜索爬取的一些方法:
首先在站点根目录下创建robots.txt文本文件。搜索蜘蛛访问本站时,首先会检查本站根目录下是否存在robots.txt。如果存在,搜索蜘蛛会先读取这个文件的内容:
文件写入
User-agent: * 这里*代表所有类型的搜索引擎,*为通配符,user-agent分号后必须加一个空格。
Disallow:/这里的定义是禁止抓取网站的所有内容
disallow: /admin/ 这里的定义是禁止爬取admin目录下的目录
Disallow: /ABC/ 这里的定义是禁止爬取ABC目录下的目录
Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录(包括子目录)中所有后缀为“.htm”的URL。
Disallow: /*?* 禁止访问 网站 中收录问号 (?) 的所有 URL
Disallow: /.jpg$ 禁止抓取网络上所有.jpg 格式的图片
Disallow:/ab/adc.html 禁止抓取ab文件夹下的adc.html文件。
Allow:这里定义了/cgi-bin/,允许爬取cgi-bin目录下的目录
Allow: /tmp 这里的定义是允许爬取tmp的整个目录
允许:.htm$ 只允许访问带有“.htm”后缀的 URL。
允许:.gif$ 允许抓取网页和 gif 格式的图像
站点地图:网站地图告诉爬虫这个页面是一个网站地图
下面列出了著名的搜索引擎蜘蛛的名称:
谷歌的蜘蛛:Googlebot
百度的蜘蛛:baiduspider
雅虎蜘蛛:Yahoo Slurp
MSN 的蜘蛛:Msnbot
Altavista 的蜘蛛:滑板车
Lycos蜘蛛:Lycos_Spider_(霸王龙)
Alltheweb 的蜘蛛:FAST-WebCrawler/
INKTOMI 的蜘蛛:Slurp
搜狗蜘蛛:搜狗网蜘蛛/4.0和搜狗inst蜘蛛/4.0
根据上面的说明,我们可以举一个大案例的例子。以搜狗为例,禁止爬取的robots.txt代码如下:
用户代理:搜狗网络蜘蛛/4.0
禁止:/goods.php
禁止:/category.php