
php禁止网页抓取
php禁止网页抓取(百度上线“闪电算法”会带来哪些影响?(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 56 次浏览 • 2021-11-09 01:23
10月初,百度推出“闪电算法”,主要强调移动搜索页面首屏加载时间会影响搜索排名。一起来看看“闪电算法”带来的影响吧!
《闪电算法》的具体实现内容:
手机搜索页面首屏加载时间会影响搜索排名。2秒内打开手机网页首屏,手机搜索下页面评价和流量倾斜优先处理;同时,在移动搜索页面的第一屏上加载非常缓慢(3 秒或更长时间)的网页将被拒绝 Suppress。
重点解读
1、闪电算法的意义
百度用户体验部研究表明,用户期望和可接受的页面加载时间在3秒以内。如果页面加载时间过慢,用户就会失去耐心而选择离开,这对用户和站长来说都是一个很大的损失。“闪电算法”不仅体现了百度移动搜索更加注重页面加载速度的决心,也体现了百度移动搜索希望站长从与用户共赢的角度优化网站。
2、2秒内打开
闪电算法第一次明确。如果移动网页的首屏在2秒内打开,将获得优先处理,以提高页面评价并在移动搜索下获得更多展示机会。同时,手机搜索页面首屏加载很慢(3秒及以上)的页面会被抑制。如果在 2~3 秒内加载第一屏,页面评价不会增加或减少。
3、技术建议
1)“闪电算法”主要针对首屏的加载时间,所以建议为首屏请求预留网络带宽,以满足不同网络条件下的加载速度和用户体验。
2)“闪电算法”是百度移动友好标准的重要组成部分。页面浏览体验、资源或功能的易用性、页面是否与移动终端兼容等,都影响着移动用户体验的满意度。所以我也提醒站长,在构建网站时,要站在与用户共赢的角度,优化移动端的用户体验。
3) 使用通用加速方案(如MIP、AMP)对网页进行全面加速。比如使用MIP可以提高网页加载速度30%~80%,部分测试站点的加速可以提高到85%,实现网页的瞬间到达。
根据百度全网速度数据,非MIP页面首页加载时间一般在3200毫秒左右,而使用MIP技术的网页首页加载时间约为1640毫秒。
此外,MIP页面在搜索结果页面上标有蓝色闪电图标,在用户体验上也有别于一般的手机页面。
百度推出“闪电算法”,手机页面首屏加速迫在眉睫
事实上,不仅是百度,各大搜索引擎也越来越关注手机网页的打开速度,而加载速度是衡量网页手机友好度的重要标准。因此,再次建议站长重视移动端体验,打造用户与网站共赢的网络生态。 查看全部
php禁止网页抓取(百度上线“闪电算法”会带来哪些影响?(组图))
10月初,百度推出“闪电算法”,主要强调移动搜索页面首屏加载时间会影响搜索排名。一起来看看“闪电算法”带来的影响吧!
《闪电算法》的具体实现内容:
手机搜索页面首屏加载时间会影响搜索排名。2秒内打开手机网页首屏,手机搜索下页面评价和流量倾斜优先处理;同时,在移动搜索页面的第一屏上加载非常缓慢(3 秒或更长时间)的网页将被拒绝 Suppress。
重点解读
1、闪电算法的意义
百度用户体验部研究表明,用户期望和可接受的页面加载时间在3秒以内。如果页面加载时间过慢,用户就会失去耐心而选择离开,这对用户和站长来说都是一个很大的损失。“闪电算法”不仅体现了百度移动搜索更加注重页面加载速度的决心,也体现了百度移动搜索希望站长从与用户共赢的角度优化网站。
2、2秒内打开
闪电算法第一次明确。如果移动网页的首屏在2秒内打开,将获得优先处理,以提高页面评价并在移动搜索下获得更多展示机会。同时,手机搜索页面首屏加载很慢(3秒及以上)的页面会被抑制。如果在 2~3 秒内加载第一屏,页面评价不会增加或减少。
3、技术建议
1)“闪电算法”主要针对首屏的加载时间,所以建议为首屏请求预留网络带宽,以满足不同网络条件下的加载速度和用户体验。
2)“闪电算法”是百度移动友好标准的重要组成部分。页面浏览体验、资源或功能的易用性、页面是否与移动终端兼容等,都影响着移动用户体验的满意度。所以我也提醒站长,在构建网站时,要站在与用户共赢的角度,优化移动端的用户体验。
3) 使用通用加速方案(如MIP、AMP)对网页进行全面加速。比如使用MIP可以提高网页加载速度30%~80%,部分测试站点的加速可以提高到85%,实现网页的瞬间到达。
根据百度全网速度数据,非MIP页面首页加载时间一般在3200毫秒左右,而使用MIP技术的网页首页加载时间约为1640毫秒。
此外,MIP页面在搜索结果页面上标有蓝色闪电图标,在用户体验上也有别于一般的手机页面。
百度推出“闪电算法”,手机页面首屏加速迫在眉睫
事实上,不仅是百度,各大搜索引擎也越来越关注手机网页的打开速度,而加载速度是衡量网页手机友好度的重要标准。因此,再次建议站长重视移动端体验,打造用户与网站共赢的网络生态。
php禁止网页抓取(百度上线“闪电算法”会带来哪些影响?(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2021-11-09 01:22
10月初,百度推出“闪电算法”,主要强调移动搜索页面首屏加载时间会影响搜索排名。一起来看看“闪电算法”带来的影响吧!
《闪电算法》的具体实现内容:
手机搜索页面首屏加载时间会影响搜索排名。2秒内打开手机网页首屏,手机搜索下页面评价和流量倾斜优先处理;同时,在移动搜索页面的第一屏上加载非常缓慢(3 秒或更长时间)的网页将被拒绝 Suppress。
重点解读
1、闪电算法的意义
百度用户体验部研究表明,用户期望和可接受的页面加载时间在3秒以内。如果页面加载时间过慢,用户就会失去耐心而选择离开,这对用户和站长来说都是一个很大的损失。“闪电算法”不仅体现了百度移动搜索更加注重页面加载速度的决心,也体现了百度移动搜索希望站长从与用户共赢的角度优化网站。
2、2秒内打开
闪电算法第一次明确。如果移动网页的首屏在2秒内打开,将获得优先处理,以提高页面评价并在移动搜索下获得更多展示机会。同时,手机搜索页面首屏加载很慢(3秒及以上)的页面会被抑制。如果在 2~3 秒内加载第一屏,页面评价不会增加或减少。
3、技术建议
1)“闪电算法”主要针对首屏的加载时间,所以建议为首屏请求预留网络带宽,以满足不同网络条件下的加载速度和用户体验。
2)“闪电算法”是百度移动友好标准的重要组成部分。页面浏览体验、资源或功能的易用性、页面是否与移动终端兼容等,都影响着移动用户体验的满意度。所以我也提醒站长,在构建网站时,要站在与用户共赢的角度,优化移动端的用户体验。
3) 使用通用加速方案(如MIP、AMP)对网页进行全面加速。比如使用MIP可以提高网页加载速度30%~80%,部分测试站点的加速可以提高到85%,实现网页的瞬间到达。
根据百度全网速度数据,非MIP页面首页加载时间一般在3200毫秒左右,而使用MIP技术的网页首页加载时间约为1640毫秒。
此外,MIP页面在搜索结果页面上标有蓝色闪电图标,在用户体验上也有别于一般的手机页面。
百度推出“闪电算法”,手机页面首屏加速迫在眉睫
事实上,不仅是百度,各大搜索引擎也越来越关注手机网页的打开速度,而加载速度是衡量网页手机友好度的重要标准。因此,再次建议站长重视移动端体验,打造用户与网站共赢的网络生态。 查看全部
php禁止网页抓取(百度上线“闪电算法”会带来哪些影响?(组图))
10月初,百度推出“闪电算法”,主要强调移动搜索页面首屏加载时间会影响搜索排名。一起来看看“闪电算法”带来的影响吧!
《闪电算法》的具体实现内容:
手机搜索页面首屏加载时间会影响搜索排名。2秒内打开手机网页首屏,手机搜索下页面评价和流量倾斜优先处理;同时,在移动搜索页面的第一屏上加载非常缓慢(3 秒或更长时间)的网页将被拒绝 Suppress。
重点解读
1、闪电算法的意义
百度用户体验部研究表明,用户期望和可接受的页面加载时间在3秒以内。如果页面加载时间过慢,用户就会失去耐心而选择离开,这对用户和站长来说都是一个很大的损失。“闪电算法”不仅体现了百度移动搜索更加注重页面加载速度的决心,也体现了百度移动搜索希望站长从与用户共赢的角度优化网站。
2、2秒内打开
闪电算法第一次明确。如果移动网页的首屏在2秒内打开,将获得优先处理,以提高页面评价并在移动搜索下获得更多展示机会。同时,手机搜索页面首屏加载很慢(3秒及以上)的页面会被抑制。如果在 2~3 秒内加载第一屏,页面评价不会增加或减少。
3、技术建议
1)“闪电算法”主要针对首屏的加载时间,所以建议为首屏请求预留网络带宽,以满足不同网络条件下的加载速度和用户体验。
2)“闪电算法”是百度移动友好标准的重要组成部分。页面浏览体验、资源或功能的易用性、页面是否与移动终端兼容等,都影响着移动用户体验的满意度。所以我也提醒站长,在构建网站时,要站在与用户共赢的角度,优化移动端的用户体验。
3) 使用通用加速方案(如MIP、AMP)对网页进行全面加速。比如使用MIP可以提高网页加载速度30%~80%,部分测试站点的加速可以提高到85%,实现网页的瞬间到达。
根据百度全网速度数据,非MIP页面首页加载时间一般在3200毫秒左右,而使用MIP技术的网页首页加载时间约为1640毫秒。
此外,MIP页面在搜索结果页面上标有蓝色闪电图标,在用户体验上也有别于一般的手机页面。
百度推出“闪电算法”,手机页面首屏加速迫在眉睫
事实上,不仅是百度,各大搜索引擎也越来越关注手机网页的打开速度,而加载速度是衡量网页手机友好度的重要标准。因此,再次建议站长重视移动端体验,打造用户与网站共赢的网络生态。
php禁止网页抓取(禁用浏览器缓存的方法和方法缓存详解!! )
网站优化 • 优采云 发表了文章 • 0 个评论 • 59 次浏览 • 2021-11-07 22:00
)
一般情况下,我们想查看互联网上的网页。当您第一次访问该网页时,系统会首先将该网页下载到您本地计算机上的一个临时文件夹中进行缓存。一段时间后,当您第二次或第三次访问该网页时,浏览器会直接从您本地计算机的临时文件夹中读取该文件。这样做的好处是避免每次都重新下载,占用大量资金。时间和网络资源,不得不说页面缓存加快了网页的显示速度。当然,它也有它的缺点。例如,当服务器上的网页已经更新,而本地显示的网页还没有更新时,无法及时显示更新。内容之后,在某些情况下,我们需要禁止浏览器缓存,
一、对于静态页面(由元标记设置):
或者通过pragma no-cache设置,pragma出现在http-equiv属性中,content属性的no-cache值用来表示是否缓存网页(为了提高速度,有些浏览器会缓存浏览器浏览的页面,通过下面的定义,浏览器一般不缓存页面,浏览器不能离线浏览)。
Cache-Control:缓存控制,指定了请求和响应所遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control 不会修改另一个消息处理过程中的缓存处理过程。请求中的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached等。响应消息中的指令包括public、private、no-cache、和 no-store , No-transform, must-revalidate, proxy-revalidate, max-age。每条消息中一些指令的含义如下:
Public:表示响应可以被任何缓存区域缓存。
Private:表示共享缓存无法处理单个用户的全部或部分响应消息。这允许服务器只描述用户响应消息的一部分,这对于其他用户的请求是无效的。
no-cache:表示不能缓存请求或响应消息
no-store:用于防止重要信息被无意泄露。发送请求消息不会导致请求和响应消息都使用缓存。
max-age:表示客户端可以收到生命周期不大于指定时间(以秒为单位)的响应。
min-fresh:表示客户端可以收到响应时间小于当前时间加上指定时间的响应。
max-stale:表示客户端可以接收超过超时时间的响应消息。如果指定了 max-stale 消息的值,则客户端可以在超时时间内收到超过指定值的响应消息。
注意:HTTP1.1中增加了Cache-Control头,相比其他方法可以实现更细致的缓存控制。
header('Cache-Control: max-age=3600*24');//缓存1天,表示最大生存期是1天,超过1天浏览器必须去服务器重新读取,这个时间是从用户第一次读取页面时开始计时的
二、php 禁止浏览器使用缓存页面
可以通过PHP的header()函数发送特定的缓存控制原创HTTP头来实现。具体代码如下: 查看全部
php禁止网页抓取(禁用浏览器缓存的方法和方法缓存详解!!
)
一般情况下,我们想查看互联网上的网页。当您第一次访问该网页时,系统会首先将该网页下载到您本地计算机上的一个临时文件夹中进行缓存。一段时间后,当您第二次或第三次访问该网页时,浏览器会直接从您本地计算机的临时文件夹中读取该文件。这样做的好处是避免每次都重新下载,占用大量资金。时间和网络资源,不得不说页面缓存加快了网页的显示速度。当然,它也有它的缺点。例如,当服务器上的网页已经更新,而本地显示的网页还没有更新时,无法及时显示更新。内容之后,在某些情况下,我们需要禁止浏览器缓存,
一、对于静态页面(由元标记设置):
或者通过pragma no-cache设置,pragma出现在http-equiv属性中,content属性的no-cache值用来表示是否缓存网页(为了提高速度,有些浏览器会缓存浏览器浏览的页面,通过下面的定义,浏览器一般不缓存页面,浏览器不能离线浏览)。
Cache-Control:缓存控制,指定了请求和响应所遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control 不会修改另一个消息处理过程中的缓存处理过程。请求中的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached等。响应消息中的指令包括public、private、no-cache、和 no-store , No-transform, must-revalidate, proxy-revalidate, max-age。每条消息中一些指令的含义如下:
Public:表示响应可以被任何缓存区域缓存。
Private:表示共享缓存无法处理单个用户的全部或部分响应消息。这允许服务器只描述用户响应消息的一部分,这对于其他用户的请求是无效的。
no-cache:表示不能缓存请求或响应消息
no-store:用于防止重要信息被无意泄露。发送请求消息不会导致请求和响应消息都使用缓存。
max-age:表示客户端可以收到生命周期不大于指定时间(以秒为单位)的响应。
min-fresh:表示客户端可以收到响应时间小于当前时间加上指定时间的响应。
max-stale:表示客户端可以接收超过超时时间的响应消息。如果指定了 max-stale 消息的值,则客户端可以在超时时间内收到超过指定值的响应消息。
注意:HTTP1.1中增加了Cache-Control头,相比其他方法可以实现更细致的缓存控制。
header('Cache-Control: max-age=3600*24');//缓存1天,表示最大生存期是1天,超过1天浏览器必须去服务器重新读取,这个时间是从用户第一次读取页面时开始计时的
二、php 禁止浏览器使用缓存页面
可以通过PHP的header()函数发送特定的缓存控制原创HTTP头来实现。具体代码如下:
php禁止网页抓取(我负责的一个网站流量突然下降至5分之一的流量)
网站优化 • 优采云 发表了文章 • 0 个评论 • 55 次浏览 • 2021-11-07 14:11
一月中旬,我负责的网站的流量,网站突然掉到了流量的五分之一。于是查了一下百度收录的金额。发现网站网站收录页数有9000多页,之前是13万多页。难怪流量下降这么明显。这个网站是一个论坛,7月份静态处理的。上线后不久,网站收录就正常了,没有大面积减少的迹象。由于网站的任务繁重,每天观察数据,没有明显的流量下降迹象。
它仅在 1 月中旬显着下降。通过观察收录的页面,发现百度只有收录有网站的8080端口页面,而且几乎只有收录有动态地址,几乎没有静态地址。收录。谷歌搜索了收录的金额,结果是0.
这令人困惑。我从来没有遇到过这样的问题。当时ZAC正在PHPWIND线上面试,所以我问了他这个问题。他当时的回答并没有解决我的问题。也许这个问题在其他地方很少发生。经过一一排查问题,很快,我终于找到了问题所在。原来,8月份,该技术修改了robots.txt文件。当时的语法是这样的:
#
#robots.txtforDiscuz!Board
#版本6.0.0
#
用户代理:*
不允许:/
禁止:/管理员/
禁止:/api/
禁止:/附件/
禁止:/自定义头像/
禁止:/图像/
禁止:/论坛数据/
禁止:/包括/
禁止:/ipdata/
禁止:/模板/
禁止:/插件/
禁止:/mspace/
禁止:/wap/
禁止:/admincp.php
禁止:/ajax.php
禁止:/digest.php
禁止:/logging.php
禁止:/member.php
禁止:/memcp.php
禁止:/misc.php
禁止:/my.php
禁止:/pm.php
禁止:/post.php
禁止:/register.php
禁止:/rss.php
禁止:/search.php
禁止:/seccode.php
禁止:/topicadmin.php
禁止:/space.php
不知道大家有没有发现上面的语法错误,其实错误已经很明显了。第一句错了。不应该被禁止:/
相反,允许:/或只是不写这句话,只需删除这句话。不要小看这三个额外的字母,而要让搜索引擎的蜘蛛停止抓取您的网页。网站收录 变化量开始缓慢下降,直到从搜索引擎数据库中删除。比如谷歌几乎相当于删除了这个网站页面。让百度蜘蛛误认为只有8080端口的页面才允许爬取。事实上,8080端口是无法访问的。为了尽量减少损失,我要求技术立即恢复对8080端口的访问。几天后,流量增加,网站收录的数量恢复到20000多,但它远不是130,000。谷歌收录也有2万多,收录很正常。然而,百度依然只有8080端口,偶尔会出现收录下的默认端口,动态占多数,静态占少数。根据论坛管理员后台数据,网站的整体流量下降了近3%2.
问题还在处理中,希望能尽快恢复交通。总结:作为SEO,一定要定期查看网站的robots.txt,建议每月一次,对技术人员进行SEO相关培训。让技术人员了解基本的SEO知识。最好为技术部门制定SEO规范。让大家有个参考。 查看全部
php禁止网页抓取(我负责的一个网站流量突然下降至5分之一的流量)
一月中旬,我负责的网站的流量,网站突然掉到了流量的五分之一。于是查了一下百度收录的金额。发现网站网站收录页数有9000多页,之前是13万多页。难怪流量下降这么明显。这个网站是一个论坛,7月份静态处理的。上线后不久,网站收录就正常了,没有大面积减少的迹象。由于网站的任务繁重,每天观察数据,没有明显的流量下降迹象。
它仅在 1 月中旬显着下降。通过观察收录的页面,发现百度只有收录有网站的8080端口页面,而且几乎只有收录有动态地址,几乎没有静态地址。收录。谷歌搜索了收录的金额,结果是0.
这令人困惑。我从来没有遇到过这样的问题。当时ZAC正在PHPWIND线上面试,所以我问了他这个问题。他当时的回答并没有解决我的问题。也许这个问题在其他地方很少发生。经过一一排查问题,很快,我终于找到了问题所在。原来,8月份,该技术修改了robots.txt文件。当时的语法是这样的:
#
#robots.txtforDiscuz!Board
#版本6.0.0
#
用户代理:*
不允许:/
禁止:/管理员/
禁止:/api/
禁止:/附件/
禁止:/自定义头像/
禁止:/图像/
禁止:/论坛数据/
禁止:/包括/
禁止:/ipdata/
禁止:/模板/
禁止:/插件/
禁止:/mspace/
禁止:/wap/
禁止:/admincp.php
禁止:/ajax.php
禁止:/digest.php
禁止:/logging.php
禁止:/member.php
禁止:/memcp.php
禁止:/misc.php
禁止:/my.php
禁止:/pm.php
禁止:/post.php
禁止:/register.php
禁止:/rss.php
禁止:/search.php
禁止:/seccode.php
禁止:/topicadmin.php
禁止:/space.php
不知道大家有没有发现上面的语法错误,其实错误已经很明显了。第一句错了。不应该被禁止:/
相反,允许:/或只是不写这句话,只需删除这句话。不要小看这三个额外的字母,而要让搜索引擎的蜘蛛停止抓取您的网页。网站收录 变化量开始缓慢下降,直到从搜索引擎数据库中删除。比如谷歌几乎相当于删除了这个网站页面。让百度蜘蛛误认为只有8080端口的页面才允许爬取。事实上,8080端口是无法访问的。为了尽量减少损失,我要求技术立即恢复对8080端口的访问。几天后,流量增加,网站收录的数量恢复到20000多,但它远不是130,000。谷歌收录也有2万多,收录很正常。然而,百度依然只有8080端口,偶尔会出现收录下的默认端口,动态占多数,静态占少数。根据论坛管理员后台数据,网站的整体流量下降了近3%2.
问题还在处理中,希望能尽快恢复交通。总结:作为SEO,一定要定期查看网站的robots.txt,建议每月一次,对技术人员进行SEO相关培训。让技术人员了解基本的SEO知识。最好为技术部门制定SEO规范。让大家有个参考。
php禁止网页抓取( 网页爬取编写网页需要使用的HTML语言(lxml)和解析)
网站优化 • 优采云 发表了文章 • 0 个评论 • 68 次浏览 • 2021-11-06 19:22
网页爬取编写网页需要使用的HTML语言(lxml)和解析)
网页抓取
您需要使用 HTML 语言来编写网页。如果你有HTML学习经验,就会知道所谓的HTML语言就是一种标准化的文档。有时我们可以很容易地从中获取一些需要的数据,并保留数据的原创格式,如csv、json等格式。但有时网站 并没有提供明确的数据格式。
所以我们需要爬网。网页抓取就是通过电脑程序编写,从不同的网页中进行删除和选择,挖掘出自己需要的数据,并以相应的格式保存数据。
网页请求(Requests)和解析(lxml)
lxml 模块是一个第三方包,可以快速高效地解析 XML 和 HTML 文档,甚至可以在解析网页的过程中处理一些错误使用的标签(标签)。其次,由于Python相关库数量多,更新速度快,对于原有的urllib2模块(python3版本不再支持urllib2,而是使用urllib),我们将使用可读性和性能更好的Requests模块反而。您可以通过以下命令轻松安装 pipinstalllxml 和 pipinstallrequests 这两个模块。
导入这些模块以开始编码之旅:
from lxml import html
import requests
接下来,我们使用 requests.get 请求一个收录我们的数据(例如 URL)的网页,然后使用 html 模块对其进行解析并将其保存在树中。
page = requests.get('http://econpy.pythonanywhere.com/ex/001.html')
tree = html.fromstring(page.content)
(这里我们需要使用 page.content 而不是 page.text,因为使用 html.fromstring 意味着只接受字节格式的数据。)
tree 现在以简洁明了的树结构保存整个 HTML 文档,以便我们可以通过两种不同的方式对其进行解析:XPath 和 CSS。在这个例子中,我们将专注于前者。
XPath 是一种在结构化文档(如 HTML 和 XML)中定位信息的方法。您可以在 W3Schools 上了解有关 XPath 的更多信息。
有很多工具可以帮助获取XPath的元素,比如Firefox的FireBug(译者注:新版浏览器没有这个插件,只是查看元素)和谷歌Chrome的Chrome Inspector。如果您使用谷歌浏览器,您可以右键单击要获取的元素,选择检查元素,再次右键单击突出显示的代码,然后选择复制 XPath。
经过简短的分析,我们可以发现我们在网页中寻找的数据收录在两个元素中——一个是title属性为buyer-name的div标签,一个是class属性的span标签商品价格:
Carson Busses
$29.95
知道了这些之后,我们就可以使用XPath进行正确查询了,使用lxml模块的xpath函数,代码如下:
#创建 buyers 的列表:
buyers = tree.xpath('//div[@title="buyer-name"]/text()')
#创建 prices 的列表
prices = tree.xpath('//span[@class="item-price"]/text()')
让我们打印出来看看我们得到了什么:
print 'Buyers: ', buyers
print 'Prices: ', prices
Buyers: ['Carson Busses', 'Earl E. Byrd', 'Patty Cakes',
'Derri Anne Connecticut', 'Moe Dess', 'Leda Doggslife', 'Dan Druff',
'Al Fresco', 'Ido Hoe', 'Howie Kisses', 'Len Lease', 'Phil Meup',
'Ira Pent', 'Ben D. Rules', 'Ave Sectomy', 'Gary Shattire',
'Bobbi Soks', 'Sheila Takya', 'Rose Tattoo', 'Moe Tell']
Prices: ['$29.95', '$8.37', '$15.26', '$19.25', '$19.25',
'$13.99', '$31.57', '$8.49', '$14.47', '$15.86', '$11.11',
'$15.98', '$16.27', '$7.50', '$50.85', '$14.26', '$5.68',
'$15.00', '$114.07', '$10.09']
伟大的!我们已经成功地使用 lxml 和 Requests 模块从网页中抓取我们想要的数据并将它们存储在列表中。现在我们可以用这些数据做一些很酷的事情,比如用 Python 来分析它们,或者将它们保存在文件中并在互联网上共享。
你也可以考虑一些更酷的想法,比如如何写一个脚本来抓取其他页面上类似的数据集,或者尝试使用多线程重写这段代码以提高运行速度。
如果您想学习如何使用 Python 导入数据,这里的 DataCamp 导入数据课程是一个好的开始
此 文章 首次发布于 网站。
本翻译仅供学习交流之用,转载请务必注明译者、出处及本文链接
我们的翻译工作符合 CC 协议。如果我们的工作侵犯了您的权益,请及时与我们联系。 查看全部
php禁止网页抓取(
网页爬取编写网页需要使用的HTML语言(lxml)和解析)

网页抓取
您需要使用 HTML 语言来编写网页。如果你有HTML学习经验,就会知道所谓的HTML语言就是一种标准化的文档。有时我们可以很容易地从中获取一些需要的数据,并保留数据的原创格式,如csv、json等格式。但有时网站 并没有提供明确的数据格式。
所以我们需要爬网。网页抓取就是通过电脑程序编写,从不同的网页中进行删除和选择,挖掘出自己需要的数据,并以相应的格式保存数据。
网页请求(Requests)和解析(lxml)
lxml 模块是一个第三方包,可以快速高效地解析 XML 和 HTML 文档,甚至可以在解析网页的过程中处理一些错误使用的标签(标签)。其次,由于Python相关库数量多,更新速度快,对于原有的urllib2模块(python3版本不再支持urllib2,而是使用urllib),我们将使用可读性和性能更好的Requests模块反而。您可以通过以下命令轻松安装 pipinstalllxml 和 pipinstallrequests 这两个模块。
导入这些模块以开始编码之旅:
from lxml import html
import requests
接下来,我们使用 requests.get 请求一个收录我们的数据(例如 URL)的网页,然后使用 html 模块对其进行解析并将其保存在树中。
page = requests.get('http://econpy.pythonanywhere.com/ex/001.html')
tree = html.fromstring(page.content)
(这里我们需要使用 page.content 而不是 page.text,因为使用 html.fromstring 意味着只接受字节格式的数据。)
tree 现在以简洁明了的树结构保存整个 HTML 文档,以便我们可以通过两种不同的方式对其进行解析:XPath 和 CSS。在这个例子中,我们将专注于前者。
XPath 是一种在结构化文档(如 HTML 和 XML)中定位信息的方法。您可以在 W3Schools 上了解有关 XPath 的更多信息。
有很多工具可以帮助获取XPath的元素,比如Firefox的FireBug(译者注:新版浏览器没有这个插件,只是查看元素)和谷歌Chrome的Chrome Inspector。如果您使用谷歌浏览器,您可以右键单击要获取的元素,选择检查元素,再次右键单击突出显示的代码,然后选择复制 XPath。
经过简短的分析,我们可以发现我们在网页中寻找的数据收录在两个元素中——一个是title属性为buyer-name的div标签,一个是class属性的span标签商品价格:
Carson Busses
$29.95
知道了这些之后,我们就可以使用XPath进行正确查询了,使用lxml模块的xpath函数,代码如下:
#创建 buyers 的列表:
buyers = tree.xpath('//div[@title="buyer-name"]/text()')
#创建 prices 的列表
prices = tree.xpath('//span[@class="item-price"]/text()')
让我们打印出来看看我们得到了什么:
print 'Buyers: ', buyers
print 'Prices: ', prices
Buyers: ['Carson Busses', 'Earl E. Byrd', 'Patty Cakes',
'Derri Anne Connecticut', 'Moe Dess', 'Leda Doggslife', 'Dan Druff',
'Al Fresco', 'Ido Hoe', 'Howie Kisses', 'Len Lease', 'Phil Meup',
'Ira Pent', 'Ben D. Rules', 'Ave Sectomy', 'Gary Shattire',
'Bobbi Soks', 'Sheila Takya', 'Rose Tattoo', 'Moe Tell']
Prices: ['$29.95', '$8.37', '$15.26', '$19.25', '$19.25',
'$13.99', '$31.57', '$8.49', '$14.47', '$15.86', '$11.11',
'$15.98', '$16.27', '$7.50', '$50.85', '$14.26', '$5.68',
'$15.00', '$114.07', '$10.09']
伟大的!我们已经成功地使用 lxml 和 Requests 模块从网页中抓取我们想要的数据并将它们存储在列表中。现在我们可以用这些数据做一些很酷的事情,比如用 Python 来分析它们,或者将它们保存在文件中并在互联网上共享。
你也可以考虑一些更酷的想法,比如如何写一个脚本来抓取其他页面上类似的数据集,或者尝试使用多线程重写这段代码以提高运行速度。
如果您想学习如何使用 Python 导入数据,这里的 DataCamp 导入数据课程是一个好的开始
此 文章 首次发布于 网站。
本翻译仅供学习交流之用,转载请务必注明译者、出处及本文链接
我们的翻译工作符合 CC 协议。如果我们的工作侵犯了您的权益,请及时与我们联系。
php禁止网页抓取(关于robots.txt文件的写法和规范还是有必要普及一下)
网站优化 • 优采云 发表了文章 • 0 个评论 • 65 次浏览 • 2021-11-05 20:02
搜索引擎和任何 网站 之间的链接是 robots.txt 文件。所有搜索引擎都允许 收录 和禁止 收录 遵循相同的协议。robots.txt 文件的编写是否符合规范仍需普及。
1. 什么是robots.txt?
robots.txt 是网站 与搜索引擎之间协议的纯文本文件。当搜索引擎蜘蛛访问一个站点时,它首先会爬行检查站点根目录中是否存在robots.txt。
如果存在,则根据文件内容确定访问范围。如果没有,蜘蛛将沿着链接爬行。Robots.txt 放在项目的根目录下。默认情况下,如果没有robots.txt文件,搜索引擎会认为你的网站的任何页面都允许被抓取和抓取。
2. robots.txt 语法
1) 允许所有搜索引擎访问网站的所有部分
Robots.txt 的写法如下:
User-agent:* ##User-agent 代表一个搜索引擎,这一行代表所有搜索引擎
Disallow: * #disallow 表示不允许,此行表示全部不允许
或者
用户代理:*
Allow:/ #这里的allow表示允许,这一行表示全部允许
复制代码
注意:星号“*”表示“全部”,井号“#”表示“注释”,斜线“/”表示目录。
注意:1.第一个英文要大写。当冒号是英文时,冒号后面有一个空格。这几点不能错。
2) 阻止所有搜索引擎访问 网站 的所有部分
Robots.txt 的写法如下:
用户代理:*
不允许:/
复制代码
也可以写如下,效果和上面一样:
用户代理:*
不允许: *
复制代码
上面代码的意思是:禁止任何搜索引擎收录任何页面。
3) 只需要禁止蜘蛛访问某个目录,比如禁止admin、css、images等目录被索引
Robots.txt 的写法如下:
User-agent:* #所有搜索引擎
Disallow:/css/ #禁止收录css目录下的所有文件
Disallow:/admin/ #禁止收录admin目录下的任何文件
Disallow:/images/ #禁止收录images目录下的任何文件
复制代码
4) 阻止文件夹 /templets,但可以抓取文件夹 /templets/main/ 之一:
Robots.txt 的写法如下:
用户代理: *
Disallow:/templets #禁止抓取根目录下的模板文件(或文件夹)
Allow:/templets/main/ #允许抓取根目录下模板文件夹中main文件夹的所有内容
复制代码
5)禁止访问/html/目录(包括子目录)中所有后缀为“.php”的URL
Robots.txt 的写法如下:
用户代理:*
Disallow:/html/*.php #禁止收录根目录下html文件夹中所有以“.php”结尾的文件
复制代码
6) 只允许访问某个目录下带有某个后缀的文件,使用“$”,“$”代表具体的文件名(文件格式)。
Robots.txt 的写法如下:
用户代理:*
Allow:.html$ #只允许访问和抓取以“.html”结尾的文件
Disallow:/ #禁止访问所有文件
复制代码
注意:disallow 和allow 命令可以同时使用。搜索引擎将首先查找 disallow 命令。如果纯粹是disallow命令,则按照协议放弃爬取;然后搜索引擎会继续查找是否存在“允许”命令,如果存在则执行。抓取,所以allow命令是disallow命令的补充,应该灵活使用。不允许和允许没有先后顺序,前面的任何人都可以做到。
7)禁止索引网站中的所有动态页面。例如,带有“?”的域名 这里限制了,比如index.php?id=1,robots.txt写成如下:
User-agent:* #User-agent 代表搜索引擎
Disallow:*?* #Disallow 收录 带有问号“?”的 URL
复制代码
8) 禁止搜索引擎抓取我们网站上的所有图片(如果您的网站使用了其他后缀图片名称,您可以在此处直接添加)。有时候,我们想节省Server资源,就需要禁止各种搜索引擎索引我们网站上的图片。除了使用“Disallow:/images/”直接屏蔽文件夹外,还可以直接屏蔽图片。格式。Robots.txt 的写法如下:
用户代理: *
Disallow:.jpg$ #禁止抓取jpg格式的文件,下同
禁止:.jpeg$
禁止:.gif$
禁止:.png$
禁止:.bmp$
复制代码
9)指定特定的搜索引擎:
用户代理:百度蜘蛛
允许:*.html$
不允许: /
复制代码
上面命令的意思是:对于百度搜索引擎,允许百度蜘蛛索引抓取所有以“.html”结尾的文件夹。其他搜索引擎不受限制。如果不写,则表示不受限制。
User-agent 是搜索引擎的名称,通常用星号“*”表示一切。要指定搜索引擎,您需要知道搜索引擎蜘蛛的名称。可以使用百度或者查看搜索引擎的描述,百度的蜘蛛名字是“Baiduspider”,谷歌的蜘蛛名字是“googlebot”。
百度产品使用不同的用户代理:
产品名称对应用户代理
无线搜索百度蜘蛛
图片搜索 百度蜘蛛-image
视频搜索 百度蜘蛛-视频
新闻搜索 百度蜘蛛-新闻
百度采集 百度蜘蛛-最爱
百度联盟Baiduspider-cpro
商业搜索Baiduspider-ads
网络和其他搜索百度蜘蛛
网页编码方式
在网页代码之间添加代码。此标签禁止搜索引擎抓取 网站 并显示网页快照。
网页代码之间加//表示禁止百度搜索引擎抓取网站并显示网页快照。
在网页代码之间,添加意味着禁止谷歌搜索引擎抓取网站并显示网页快照。
另外,当我们的需求很奇怪的时候,比如以下几种情况:
1. 网站 添加了Robots.txt,百度可以搜索到吗?
因为搜索引擎索引数据库的更新需要时间。虽然百度蜘蛛已经停止访问您在网站上的网页,但清除百度搜索引擎数据库中已建立网页的索引信息可能需要几个月的时间。另请检查您的机器人是否配置正确。如果收录急需您的拒绝,您也可以通过投诉平台反馈请求处理。
2.希望网站的内容被百度收录,但快照不会被保存。我该怎么办?
百度蜘蛛符合互联网元机器人协议。您可以使用网页元设置使百度显示仅索引网页,而不在搜索结果中显示网页的快照。和robots的更新一样,更新搜索引擎索引库也是需要时间的,所以虽然你在网页中通过meta禁用了百度在搜索结果中显示页面的快照,但是如果网页索引已经在百度搜索引擎数据库信息,可能需要两到四个星期才能在线生效。
想被百度收录,但不保存网站快照,以下代码解决:
将上述代码放在网页之间的任何位置。
如果你想禁止所有搜索引擎保存你网页的快照,那么代码如下:
一些常用的代码组合:
:您可以抓取此页面,并且可以继续索引此页面上的其他链接
:不抓取此页面,但您可以抓取此页面上的其他链接并将其编入索引
:您可以抓取此页面,但不允许抓取此页面上的其他链接并将其编入索引
: 不抓取此页面,也不沿此页面抓取以索引其他链接 查看全部
php禁止网页抓取(关于robots.txt文件的写法和规范还是有必要普及一下)
搜索引擎和任何 网站 之间的链接是 robots.txt 文件。所有搜索引擎都允许 收录 和禁止 收录 遵循相同的协议。robots.txt 文件的编写是否符合规范仍需普及。
1. 什么是robots.txt?
robots.txt 是网站 与搜索引擎之间协议的纯文本文件。当搜索引擎蜘蛛访问一个站点时,它首先会爬行检查站点根目录中是否存在robots.txt。
如果存在,则根据文件内容确定访问范围。如果没有,蜘蛛将沿着链接爬行。Robots.txt 放在项目的根目录下。默认情况下,如果没有robots.txt文件,搜索引擎会认为你的网站的任何页面都允许被抓取和抓取。
2. robots.txt 语法
1) 允许所有搜索引擎访问网站的所有部分
Robots.txt 的写法如下:
User-agent:* ##User-agent 代表一个搜索引擎,这一行代表所有搜索引擎
Disallow: * #disallow 表示不允许,此行表示全部不允许
或者
用户代理:*
Allow:/ #这里的allow表示允许,这一行表示全部允许
复制代码
注意:星号“*”表示“全部”,井号“#”表示“注释”,斜线“/”表示目录。
注意:1.第一个英文要大写。当冒号是英文时,冒号后面有一个空格。这几点不能错。
2) 阻止所有搜索引擎访问 网站 的所有部分
Robots.txt 的写法如下:
用户代理:*
不允许:/
复制代码
也可以写如下,效果和上面一样:
用户代理:*
不允许: *
复制代码
上面代码的意思是:禁止任何搜索引擎收录任何页面。
3) 只需要禁止蜘蛛访问某个目录,比如禁止admin、css、images等目录被索引
Robots.txt 的写法如下:
User-agent:* #所有搜索引擎
Disallow:/css/ #禁止收录css目录下的所有文件
Disallow:/admin/ #禁止收录admin目录下的任何文件
Disallow:/images/ #禁止收录images目录下的任何文件
复制代码
4) 阻止文件夹 /templets,但可以抓取文件夹 /templets/main/ 之一:
Robots.txt 的写法如下:
用户代理: *
Disallow:/templets #禁止抓取根目录下的模板文件(或文件夹)
Allow:/templets/main/ #允许抓取根目录下模板文件夹中main文件夹的所有内容
复制代码
5)禁止访问/html/目录(包括子目录)中所有后缀为“.php”的URL
Robots.txt 的写法如下:
用户代理:*
Disallow:/html/*.php #禁止收录根目录下html文件夹中所有以“.php”结尾的文件
复制代码
6) 只允许访问某个目录下带有某个后缀的文件,使用“$”,“$”代表具体的文件名(文件格式)。
Robots.txt 的写法如下:
用户代理:*
Allow:.html$ #只允许访问和抓取以“.html”结尾的文件
Disallow:/ #禁止访问所有文件
复制代码
注意:disallow 和allow 命令可以同时使用。搜索引擎将首先查找 disallow 命令。如果纯粹是disallow命令,则按照协议放弃爬取;然后搜索引擎会继续查找是否存在“允许”命令,如果存在则执行。抓取,所以allow命令是disallow命令的补充,应该灵活使用。不允许和允许没有先后顺序,前面的任何人都可以做到。
7)禁止索引网站中的所有动态页面。例如,带有“?”的域名 这里限制了,比如index.php?id=1,robots.txt写成如下:
User-agent:* #User-agent 代表搜索引擎
Disallow:*?* #Disallow 收录 带有问号“?”的 URL
复制代码
8) 禁止搜索引擎抓取我们网站上的所有图片(如果您的网站使用了其他后缀图片名称,您可以在此处直接添加)。有时候,我们想节省Server资源,就需要禁止各种搜索引擎索引我们网站上的图片。除了使用“Disallow:/images/”直接屏蔽文件夹外,还可以直接屏蔽图片。格式。Robots.txt 的写法如下:
用户代理: *
Disallow:.jpg$ #禁止抓取jpg格式的文件,下同
禁止:.jpeg$
禁止:.gif$
禁止:.png$
禁止:.bmp$
复制代码
9)指定特定的搜索引擎:
用户代理:百度蜘蛛
允许:*.html$
不允许: /
复制代码
上面命令的意思是:对于百度搜索引擎,允许百度蜘蛛索引抓取所有以“.html”结尾的文件夹。其他搜索引擎不受限制。如果不写,则表示不受限制。
User-agent 是搜索引擎的名称,通常用星号“*”表示一切。要指定搜索引擎,您需要知道搜索引擎蜘蛛的名称。可以使用百度或者查看搜索引擎的描述,百度的蜘蛛名字是“Baiduspider”,谷歌的蜘蛛名字是“googlebot”。
百度产品使用不同的用户代理:
产品名称对应用户代理
无线搜索百度蜘蛛
图片搜索 百度蜘蛛-image
视频搜索 百度蜘蛛-视频
新闻搜索 百度蜘蛛-新闻
百度采集 百度蜘蛛-最爱
百度联盟Baiduspider-cpro
商业搜索Baiduspider-ads
网络和其他搜索百度蜘蛛

网页编码方式
在网页代码之间添加代码。此标签禁止搜索引擎抓取 网站 并显示网页快照。
网页代码之间加//表示禁止百度搜索引擎抓取网站并显示网页快照。
在网页代码之间,添加意味着禁止谷歌搜索引擎抓取网站并显示网页快照。
另外,当我们的需求很奇怪的时候,比如以下几种情况:
1. 网站 添加了Robots.txt,百度可以搜索到吗?
因为搜索引擎索引数据库的更新需要时间。虽然百度蜘蛛已经停止访问您在网站上的网页,但清除百度搜索引擎数据库中已建立网页的索引信息可能需要几个月的时间。另请检查您的机器人是否配置正确。如果收录急需您的拒绝,您也可以通过投诉平台反馈请求处理。
2.希望网站的内容被百度收录,但快照不会被保存。我该怎么办?
百度蜘蛛符合互联网元机器人协议。您可以使用网页元设置使百度显示仅索引网页,而不在搜索结果中显示网页的快照。和robots的更新一样,更新搜索引擎索引库也是需要时间的,所以虽然你在网页中通过meta禁用了百度在搜索结果中显示页面的快照,但是如果网页索引已经在百度搜索引擎数据库信息,可能需要两到四个星期才能在线生效。
想被百度收录,但不保存网站快照,以下代码解决:
将上述代码放在网页之间的任何位置。
如果你想禁止所有搜索引擎保存你网页的快照,那么代码如下:
一些常用的代码组合:
:您可以抓取此页面,并且可以继续索引此页面上的其他链接
:不抓取此页面,但您可以抓取此页面上的其他链接并将其编入索引
:您可以抓取此页面,但不允许抓取此页面上的其他链接并将其编入索引
: 不抓取此页面,也不沿此页面抓取以索引其他链接
php禁止网页抓取(做SEO的站长们是否经常碰到这样的问题?(一))
网站优化 • 优采云 发表了文章 • 0 个评论 • 55 次浏览 • 2021-11-04 14:11
SEO站长经常遇到这样的问题吗?网站设计公司***yi***做好排名或提供优质服务后,无连续接单或连续电话影响,有客户拒付。另一方面,为了保证网站文章的性能,不容易被搜索引擎检索到,还需要一个通用的方法:拦截百度等搜索引擎蜘蛛,谷歌。总结出两种具体方法如下:
一、创建 robots.txt 文本。
robots.txt 文本文件应同时收录两个域,“User-agent:”和“Disallow:”,每条指令各占一行。
1.用户代理:
指定允许爬取的蜘蛛。如果给定参数,则只能抓取指定的蜘蛛;如果值为通配符“*”,则表示允许所有蜘蛛爬行。喜欢:
User-agent:Googlebot*,表示只允许谷歌蜘蛛抓取;
User-agent: *,表示允许所有蜘蛛爬行。
注意:User-agent 必须出现在行中(有意义的行,注释除外)以首先声明用户代理。
2.禁止:
指定不允许蜘蛛爬取的目录或文件,如:
Disallow:/help.php,表示禁止抓取根目录下的help.php文件;
Disallow:/admin/,表示禁止抓取根目录下admin子目录中的任何内容;
Disallow:该值为空时,表示没有限制,蜘蛛可以抓取站点中的任何内容。
Disallow:/,表示禁止蜘蛛爬取根目录下的所有内容。
如果需要指定多个目录或文件,可以使用多个“Disallow: file or directory names”来指定,但每一项必须单独一行。
二、机器人元标签。
robots.txt放在网站,文件级网络蜘蛛授权;而robots Meta标签放置在网页中,用于一些网页需要单独设置的时候,两者的功能是一样的。
Meta robots标签必须放在中间,格式:
content中的值决定了允许爬取的类型,必须同时收录两个值:是否允许索引(index)和是否关注链接(follow,也可以理解为是否允许继续爬行)沿着网页中的超链接)。共有4个参数可选,形成4种组合:
index,follow:允许抓取此页面并允许跟踪链接。
index, nofollow:允许抓取此页面,但禁止跟踪链接。
noindex,follow:禁止抓取本页,但允许跟踪链接。
noindex、nofllow:禁止抓取本页,禁止关注本页链接。 查看全部
php禁止网页抓取(做SEO的站长们是否经常碰到这样的问题?(一))
SEO站长经常遇到这样的问题吗?网站设计公司***yi***做好排名或提供优质服务后,无连续接单或连续电话影响,有客户拒付。另一方面,为了保证网站文章的性能,不容易被搜索引擎检索到,还需要一个通用的方法:拦截百度等搜索引擎蜘蛛,谷歌。总结出两种具体方法如下:
一、创建 robots.txt 文本。
robots.txt 文本文件应同时收录两个域,“User-agent:”和“Disallow:”,每条指令各占一行。
1.用户代理:
指定允许爬取的蜘蛛。如果给定参数,则只能抓取指定的蜘蛛;如果值为通配符“*”,则表示允许所有蜘蛛爬行。喜欢:
User-agent:Googlebot*,表示只允许谷歌蜘蛛抓取;
User-agent: *,表示允许所有蜘蛛爬行。
注意:User-agent 必须出现在行中(有意义的行,注释除外)以首先声明用户代理。
2.禁止:
指定不允许蜘蛛爬取的目录或文件,如:
Disallow:/help.php,表示禁止抓取根目录下的help.php文件;
Disallow:/admin/,表示禁止抓取根目录下admin子目录中的任何内容;
Disallow:该值为空时,表示没有限制,蜘蛛可以抓取站点中的任何内容。
Disallow:/,表示禁止蜘蛛爬取根目录下的所有内容。
如果需要指定多个目录或文件,可以使用多个“Disallow: file or directory names”来指定,但每一项必须单独一行。
二、机器人元标签。
robots.txt放在网站,文件级网络蜘蛛授权;而robots Meta标签放置在网页中,用于一些网页需要单独设置的时候,两者的功能是一样的。
Meta robots标签必须放在中间,格式:
content中的值决定了允许爬取的类型,必须同时收录两个值:是否允许索引(index)和是否关注链接(follow,也可以理解为是否允许继续爬行)沿着网页中的超链接)。共有4个参数可选,形成4种组合:
index,follow:允许抓取此页面并允许跟踪链接。
index, nofollow:允许抓取此页面,但禁止跟踪链接。
noindex,follow:禁止抓取本页,但允许跟踪链接。
noindex、nofllow:禁止抓取本页,禁止关注本页链接。
php禁止网页抓取(几种常用的屏蔽抓取蜘蛛规则文件.txt)
网站优化 • 优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2021-11-01 00:28
总的来说,在网站建立和运营之后,总是希望收录的搜索引擎数量越多越好。但这通常是大多数人想要的。有时候,我们还是希望搜索引擎蜘蛛不要访问网站的某些文件夹,当然也有不想要搜索引擎收录的页面。
比如网站刚刚成立,还没有真正投入运营,没有实质性内容的时候;收录页面太多导致网站的权重分散,当权重聚集到一些最重要的页面时;再比如建立镜像网站,主要是利用其他推广方式(这里指SEO以外的推广方式)来操作网站……
搜索引擎收录网站页面需要通过蜘蛛网站进行访问,抓取页面内容。所以,一般情况下,如果要屏蔽搜索引擎,就需要限制和屏蔽蜘蛛的访问和爬取。下面笔者介绍几种常用的拦截蜘蛛爬行的方法。
1.robots.txt 规则文件。(简单总结一下:创建robots.txt文件放在你项目的根目录下(也就是你的网站根目录,80端口访问的html页面目录),然后你访问你的域+ robots.txt 能访问就够了)
大家都知道robots.txt是引导搜索引擎蜘蛛访问这个网站的规则,通常用的比较多。一般的建议是不管网站是否需要屏蔽收录的内容,都在根目录下创建robots.txt文件。
robots.txt 文件的规则非常简单。例如,如果你需要阻止某个搜索引擎的蜘蛛访问所有目录,只需写:
User-agent:Googlebot
Disallow:/
再比如禁止所有蜘蛛访问、抓取某一个目录则:
User-agent:*
Disallow:/admin/
生成robots.tst文件的工具
2.机器人元标签。
如果robots.txt是放置在网站中的规则文件,那么robots Meta就是放置在网页中的标签。两者的实际功能大致相同,只是robots.txt大部分搜索引擎都支持,而后者大部分搜索引擎不支持。另外,相比之下,单独设置某些页面时使用robots Meta。
robots Meta 标签必须存储在“”代码中:
3.服务器配置文件。
该方法是屏蔽蜘蛛最不常用的方法,主要用于屏蔽“不遵守”robots.txt规则的蜘蛛。
方法是分析一段时间的网站日志,找到需要屏蔽的蜘蛛及其ip。然后通过服务器的配置文件进行拦截,从而阻止某个蜘蛛爬取网站。当然,这种方法使用起来并不灵活,例如无法单独阻止蜘蛛对某个文件夹(或网页)的抓取。
视服务器及其系统而定,具体请参考相关设置方法。
除了上面提到的三种拦截蜘蛛的方法,应该还有其他的方法可以达到拦截蜘蛛的目的。欢迎各位专家在闲暇之余补充。
但是就以上三种方式而言,第一种robots.txt规则文件使用的比较广泛。 查看全部
php禁止网页抓取(几种常用的屏蔽抓取蜘蛛规则文件.txt)
总的来说,在网站建立和运营之后,总是希望收录的搜索引擎数量越多越好。但这通常是大多数人想要的。有时候,我们还是希望搜索引擎蜘蛛不要访问网站的某些文件夹,当然也有不想要搜索引擎收录的页面。
比如网站刚刚成立,还没有真正投入运营,没有实质性内容的时候;收录页面太多导致网站的权重分散,当权重聚集到一些最重要的页面时;再比如建立镜像网站,主要是利用其他推广方式(这里指SEO以外的推广方式)来操作网站……
搜索引擎收录网站页面需要通过蜘蛛网站进行访问,抓取页面内容。所以,一般情况下,如果要屏蔽搜索引擎,就需要限制和屏蔽蜘蛛的访问和爬取。下面笔者介绍几种常用的拦截蜘蛛爬行的方法。
1.robots.txt 规则文件。(简单总结一下:创建robots.txt文件放在你项目的根目录下(也就是你的网站根目录,80端口访问的html页面目录),然后你访问你的域+ robots.txt 能访问就够了)
大家都知道robots.txt是引导搜索引擎蜘蛛访问这个网站的规则,通常用的比较多。一般的建议是不管网站是否需要屏蔽收录的内容,都在根目录下创建robots.txt文件。
robots.txt 文件的规则非常简单。例如,如果你需要阻止某个搜索引擎的蜘蛛访问所有目录,只需写:
User-agent:Googlebot
Disallow:/
再比如禁止所有蜘蛛访问、抓取某一个目录则:
User-agent:*
Disallow:/admin/
生成robots.tst文件的工具
2.机器人元标签。
如果robots.txt是放置在网站中的规则文件,那么robots Meta就是放置在网页中的标签。两者的实际功能大致相同,只是robots.txt大部分搜索引擎都支持,而后者大部分搜索引擎不支持。另外,相比之下,单独设置某些页面时使用robots Meta。
robots Meta 标签必须存储在“”代码中:
3.服务器配置文件。
该方法是屏蔽蜘蛛最不常用的方法,主要用于屏蔽“不遵守”robots.txt规则的蜘蛛。
方法是分析一段时间的网站日志,找到需要屏蔽的蜘蛛及其ip。然后通过服务器的配置文件进行拦截,从而阻止某个蜘蛛爬取网站。当然,这种方法使用起来并不灵活,例如无法单独阻止蜘蛛对某个文件夹(或网页)的抓取。
视服务器及其系统而定,具体请参考相关设置方法。
除了上面提到的三种拦截蜘蛛的方法,应该还有其他的方法可以达到拦截蜘蛛的目的。欢迎各位专家在闲暇之余补充。
但是就以上三种方式而言,第一种robots.txt规则文件使用的比较广泛。
php禁止网页抓取(几种方法教你如何防止自己的网站被别人iframe走了)
网站优化 • 优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-10-29 18:00
辛苦网站被别人用来给你的iframe套上马甲,成了他的页面内容。你怎么认为?会因为自己的页面生气骂iframe的人是不道德的!这里有几个方法教你如何防止自己的网站被别人的iframe删除。
(1)第一种防止页面被iframe的方法,在页面中添加如下JS代码:
查看代码打印
1
(2)第二种禁止页面被iframe的方式,在页面中添加如下JS代码:
查看代码打印
据说这个方案在火狐浏览器下会不断刷新页面。这是因为在 IE 下它是这个窗口,但在 Firefox 下它是空的。所以它会继续运行这段js代码,造成无限循环,导致页面一直刷新。
(3)禁止页面被iframe的第三种方法,在页面中添加如下JS代码:
查看代码打印
另外,如果使用php开发web程序,也可以直接使用php来达到禁止页面被iframe的效果。加入程序代码:
查看代码打印
if($_server['http_host']!='#39;){
exit('iframe我的页面被禁止!囧');
}
asp语言也有自己独特的禁止页面被iframe的实现代码,如下:
查看代码打印
host=Request.ServerVariables("SERVER_NAME")
如果主机""然后
response.redirect ""
如果结束
当然其他编程语言也可以通过获取环境变量来达到防止页面被iframe的效果,这里就不一一举例了。 查看全部
php禁止网页抓取(几种方法教你如何防止自己的网站被别人iframe走了)
辛苦网站被别人用来给你的iframe套上马甲,成了他的页面内容。你怎么认为?会因为自己的页面生气骂iframe的人是不道德的!这里有几个方法教你如何防止自己的网站被别人的iframe删除。
(1)第一种防止页面被iframe的方法,在页面中添加如下JS代码:
查看代码打印
1
(2)第二种禁止页面被iframe的方式,在页面中添加如下JS代码:
查看代码打印
据说这个方案在火狐浏览器下会不断刷新页面。这是因为在 IE 下它是这个窗口,但在 Firefox 下它是空的。所以它会继续运行这段js代码,造成无限循环,导致页面一直刷新。
(3)禁止页面被iframe的第三种方法,在页面中添加如下JS代码:
查看代码打印
另外,如果使用php开发web程序,也可以直接使用php来达到禁止页面被iframe的效果。加入程序代码:
查看代码打印
if($_server['http_host']!='#39;){
exit('iframe我的页面被禁止!囧');
}
asp语言也有自己独特的禁止页面被iframe的实现代码,如下:
查看代码打印
host=Request.ServerVariables("SERVER_NAME")
如果主机""然后
response.redirect ""
如果结束
当然其他编程语言也可以通过获取环境变量来达到防止页面被iframe的效果,这里就不一一举例了。
php禁止网页抓取(由云网时代小编整理提供,云网租用,深圳服务器托管,主机租用)
网站优化 • 优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2021-10-29 17:21
目前,许多程序cms漏洞层出不穷,黑客稍有不慎就导致网站被挂断或被利用。老ASP程序的这些漏洞比较严重,那么问题出在哪里呢?是解决方案吗?接下来小编就和大家分享一下如何禁止宿主机或者网站运行ASP/PHP程序或者动态脚本。
解决这类问题最好的办法当然是修补漏洞,从根本上减少被攻陷的机会,但对于很多初级程序员来说,这并不容易。
推荐使用下面的方法为整个站点生成静态网站,对客户端的影响比较小。当然也可以根据情况使用,比如上传等上传文件夹,这样即使上传了目录,木马也无法运行。
注意:IIS7及以上版本适用,将以下代码保存为web.config文件,保存在网站目录下,需要禁止运行ASP/PHP或动态脚本。如果放在根目录下,整个站点将被禁止运行程序,只能读取静态脚本文件。
-----------------分割线------------------------
------------------分割线---------------------
恢复脚本运行起来也很简单,删除这个文件就行了。
当然要根据自己网站的情况来决定。不要盲目使用。我目前的很多观察 网站 都将涉及 PHP。如果使用整个站点,可能会导致网站 失败。它运行正常,所以如果你使用它,你可以把这个文件放在你不再使用的PHP或asp文件目录中。不建议放在根目录下。
以上信息由云网时代编辑整理提供。云网时代专业提供深圳服务器租赁、深圳服务器托管、深圳主机租赁、宽带租赁等,欢迎联系客服了解详情。 查看全部
php禁止网页抓取(由云网时代小编整理提供,云网租用,深圳服务器托管,主机租用)
目前,许多程序cms漏洞层出不穷,黑客稍有不慎就导致网站被挂断或被利用。老ASP程序的这些漏洞比较严重,那么问题出在哪里呢?是解决方案吗?接下来小编就和大家分享一下如何禁止宿主机或者网站运行ASP/PHP程序或者动态脚本。

解决这类问题最好的办法当然是修补漏洞,从根本上减少被攻陷的机会,但对于很多初级程序员来说,这并不容易。
推荐使用下面的方法为整个站点生成静态网站,对客户端的影响比较小。当然也可以根据情况使用,比如上传等上传文件夹,这样即使上传了目录,木马也无法运行。
注意:IIS7及以上版本适用,将以下代码保存为web.config文件,保存在网站目录下,需要禁止运行ASP/PHP或动态脚本。如果放在根目录下,整个站点将被禁止运行程序,只能读取静态脚本文件。
-----------------分割线------------------------
------------------分割线---------------------
恢复脚本运行起来也很简单,删除这个文件就行了。
当然要根据自己网站的情况来决定。不要盲目使用。我目前的很多观察 网站 都将涉及 PHP。如果使用整个站点,可能会导致网站 失败。它运行正常,所以如果你使用它,你可以把这个文件放在你不再使用的PHP或asp文件目录中。不建议放在根目录下。
以上信息由云网时代编辑整理提供。云网时代专业提供深圳服务器租赁、深圳服务器托管、深圳主机租赁、宽带租赁等,欢迎联系客服了解详情。
php禁止网页抓取(php的curl正常抓取页面程序:如果你抓取到的是302状态)
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2021-10-29 01:06
php的curl正常爬取过程如下:
$url = 'http://www.baidu.com';
$ch = curl_init();
curl_setopt($ch, curlopt_url, $url);
curl_setopt($ch, curlopt_verbose, true);
curl_setopt($ch, curlopt_header, true);
curl_setopt($ch, curlopt_nobody, true);
curl_setopt($ch, curlopt_customrequest, 'get');
curl_setopt($ch, curlopt_returntransfer, true);
curl_setopt($ch, curlopt_timeout, 20);
curl_setopt($ch, curlopt_autoreferer, true);
curl_setopt($ch, curlopt_followlocation, true);
$ret = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
如果抓取到302状态,那是因为在爬取过程中,有些跳转需要给下一个链接传递参数,如果没有收到相应的参数,下一个链接也被设置了,就是非法访问。
显示应该是正常的。
上面是用来抓取函数的,应该几乎没有问题。您可以查看 curlopt_customrequest 相关信息。
使用自定义请求消息而不是“get”或“head”作为 http 请求。这是用于执行“删除”或其他更模糊的 http 请求。有效值为“get”、“post”、“connect”等。换句话说,不要在此处输入整个 http 请求。例如输入“get /index.html http/1.0\r\n\r\n”是错误的。 查看全部
php禁止网页抓取(php的curl正常抓取页面程序:如果你抓取到的是302状态)
php的curl正常爬取过程如下:
$url = 'http://www.baidu.com';
$ch = curl_init();
curl_setopt($ch, curlopt_url, $url);
curl_setopt($ch, curlopt_verbose, true);
curl_setopt($ch, curlopt_header, true);
curl_setopt($ch, curlopt_nobody, true);
curl_setopt($ch, curlopt_customrequest, 'get');
curl_setopt($ch, curlopt_returntransfer, true);
curl_setopt($ch, curlopt_timeout, 20);
curl_setopt($ch, curlopt_autoreferer, true);
curl_setopt($ch, curlopt_followlocation, true);
$ret = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
如果抓取到302状态,那是因为在爬取过程中,有些跳转需要给下一个链接传递参数,如果没有收到相应的参数,下一个链接也被设置了,就是非法访问。
显示应该是正常的。
上面是用来抓取函数的,应该几乎没有问题。您可以查看 curlopt_customrequest 相关信息。
使用自定义请求消息而不是“get”或“head”作为 http 请求。这是用于执行“删除”或其他更模糊的 http 请求。有效值为“get”、“post”、“connect”等。换句话说,不要在此处输入整个 http 请求。例如输入“get /index.html http/1.0\r\n\r\n”是错误的。
php禁止网页抓取(查看网站的robots文件方法:网站为什么要写robots?)
网站优化 • 优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2021-10-23 01:04
robots 协议是网站 和搜索引擎之间的爬虫协议。也是蜘蛛访问的第一个文件网站。它的作用是指导搜索引擎蜘蛛根据文件内容确定访问权限。范围、保护网络安全和隐私,防止数据和敏感信息泄露,确保用户个人信息和隐私不受侵犯。没有robots协议,默认搜索引擎抓取网站的所有页面。
如何查看网站的robots文件:
网站为什么要写机器人?
1、避免资源浪费:屏蔽不需要搜索引擎检索的页面和文件,节省搜索引擎蜘蛛资源。
2、防止敏感信息泄露和网站隐私:主要是防止网站后台程序文件和前台模板文件被抓取。
3、提高搜索引擎友好度:当抓取到更多无用信息时,搜索引擎会认为网站质量低,屏蔽死链接和无用页面,提高搜索引擎友好度
机器人写法
第一行通常是:User-agent:*(User-agent是搜索引擎,*是编程语言中的通配符。“User-agent:*”是所有搜索引擎,包括百度,谷歌,36 0、搜狗...)
Disallow 表示不允许或禁止。这里的定义是禁止蜘蛛爬取(一个文件,一个目录...)
例如:Disallow: /index.php 禁止 网站index.php 文件
allow 表示允许,这里的定义是允许蜘蛛爬行
例如:允许:/index.php允许网站
的index.php
语法规则:
1、大写每一行的开头
2、冒号“:”是英文格式的冒号
3、冒号后面有一个空格
4、空格后面必须有斜杠
示例:禁止:/admin
机器人常用语法和功能:
1、用户代理:*
禁止:/禁止所有搜索引擎访问网站的所有部分。
2、Disallow: /admin/ 不允许抓取 admin 文件夹中的信息
Disallow: /admin 不允许爬取所有带有 admin 的路径
3、Disallow: /*?* 禁止访问 网站
中的所有动态页面
4、Disallow: /.css$ 不允许爬取路径中所有带有“.css”的路径($表示结束,停止)
5、站点地图:
Sitemap:(有点seo优化技巧,原理自己懂...)
6、如果我们不允许蜘蛛爬取admin文件夹的内容,但允许爬取admin文件夹下的某个页面:
禁止:/admin/
允许:/admin/**
机器人语法格式:
1、User-agent: _____ 空格是定义搜索引擎的类型;
2、Crawl-delay: _____ 空格是定义爬行延迟;
3、Disallow:_____ 空格是定义禁止搜索引擎的地址收录;
4、Allow:_____ 空格是定义允许搜索引擎的地址收录;
示例:phpcms内容管理系统的robots.txt文件:
User-agent: * 其中*代表所有类型的搜索引擎,*是通配符
Disallow: /caches/ 禁止抓取缓存目录中的所有文件
Disallow: /phpcms/ 禁止爬取php核心目录下的目录cms
Disallow: /install/ 禁止访问安装包目录下的目录
Disallow: /phpsso_server/ 禁止爬取phpsso_server目录下的目录
Disallow: /api/ 禁止爬取界面目录下的目录
Disallow: /admin.php/ 这里的定义是禁止蜘蛛爬取admin目录下的目录
机器人测试
在百度站长工具中添加网站,使用左侧爬虫的权限测试网站的robots。 查看全部
php禁止网页抓取(查看网站的robots文件方法:网站为什么要写robots?)
robots 协议是网站 和搜索引擎之间的爬虫协议。也是蜘蛛访问的第一个文件网站。它的作用是指导搜索引擎蜘蛛根据文件内容确定访问权限。范围、保护网络安全和隐私,防止数据和敏感信息泄露,确保用户个人信息和隐私不受侵犯。没有robots协议,默认搜索引擎抓取网站的所有页面。

如何查看网站的robots文件:
网站为什么要写机器人?
1、避免资源浪费:屏蔽不需要搜索引擎检索的页面和文件,节省搜索引擎蜘蛛资源。
2、防止敏感信息泄露和网站隐私:主要是防止网站后台程序文件和前台模板文件被抓取。
3、提高搜索引擎友好度:当抓取到更多无用信息时,搜索引擎会认为网站质量低,屏蔽死链接和无用页面,提高搜索引擎友好度
机器人写法
第一行通常是:User-agent:*(User-agent是搜索引擎,*是编程语言中的通配符。“User-agent:*”是所有搜索引擎,包括百度,谷歌,36 0、搜狗...)
Disallow 表示不允许或禁止。这里的定义是禁止蜘蛛爬取(一个文件,一个目录...)
例如:Disallow: /index.php 禁止 网站index.php 文件
allow 表示允许,这里的定义是允许蜘蛛爬行
例如:允许:/index.php允许网站
的index.php
语法规则:
1、大写每一行的开头
2、冒号“:”是英文格式的冒号
3、冒号后面有一个空格
4、空格后面必须有斜杠
示例:禁止:/admin
机器人常用语法和功能:
1、用户代理:*
禁止:/禁止所有搜索引擎访问网站的所有部分。
2、Disallow: /admin/ 不允许抓取 admin 文件夹中的信息
Disallow: /admin 不允许爬取所有带有 admin 的路径
3、Disallow: /*?* 禁止访问 网站
中的所有动态页面
4、Disallow: /.css$ 不允许爬取路径中所有带有“.css”的路径($表示结束,停止)
5、站点地图:
Sitemap:(有点seo优化技巧,原理自己懂...)
6、如果我们不允许蜘蛛爬取admin文件夹的内容,但允许爬取admin文件夹下的某个页面:
禁止:/admin/
允许:/admin/**
机器人语法格式:
1、User-agent: _____ 空格是定义搜索引擎的类型;
2、Crawl-delay: _____ 空格是定义爬行延迟;
3、Disallow:_____ 空格是定义禁止搜索引擎的地址收录;
4、Allow:_____ 空格是定义允许搜索引擎的地址收录;
示例:phpcms内容管理系统的robots.txt文件:
User-agent: * 其中*代表所有类型的搜索引擎,*是通配符
Disallow: /caches/ 禁止抓取缓存目录中的所有文件
Disallow: /phpcms/ 禁止爬取php核心目录下的目录cms
Disallow: /install/ 禁止访问安装包目录下的目录
Disallow: /phpsso_server/ 禁止爬取phpsso_server目录下的目录
Disallow: /api/ 禁止爬取界面目录下的目录
Disallow: /admin.php/ 这里的定义是禁止蜘蛛爬取admin目录下的目录
机器人测试
在百度站长工具中添加网站,使用左侧爬虫的权限测试网站的robots。
php禁止网页抓取(几种方法教你如何防止自己的网站被别人iframe走了)
网站优化 • 优采云 发表了文章 • 0 个评论 • 75 次浏览 • 2021-10-23 01:03
辛苦网站被别人用来给你的iframe套上马甲,成了他的页面内容。你怎么认为?会为了自己的网页生气骂iframe的人是不道德的!这里有几个方法教你如何防止自己的网站被别人的iframe删除。
(1)第一种防止页面被iframe的方法,在页面中添加如下JS代码:
查看代码打印
1
(2)第二种禁止页面被iframe的方式,在页面中添加如下JS代码:
查看代码打印
据说这个方案在火狐浏览器下会不断刷新页面。这是因为在 IE 下它是这个窗口,但在 Firefox 下它是空的。所以它会继续运行这段js代码,造成无限循环,导致页面一直刷新。
(3)禁止页面被iframe的第三种方法,在页面中添加如下JS代码:
查看代码打印
另外,如果使用php开发web程序,也可以直接使用php来达到禁止页面被iframe的效果。加入程序代码:
查看代码打印
if($_server['http_host']!='#39;){
exit('iframe我的页面被禁止!囧');
}
asp语言也有自己独特的禁止页面被iframe的实现代码,如下:
查看代码打印
host=Request.ServerVariables("SERVER_NAME")
如果主机""然后
response.redirect ""
如果结束
当然其他编程语言也可以通过获取环境变量来达到防止页面被iframe的效果,这里就不一一举例了。 查看全部
php禁止网页抓取(几种方法教你如何防止自己的网站被别人iframe走了)
辛苦网站被别人用来给你的iframe套上马甲,成了他的页面内容。你怎么认为?会为了自己的网页生气骂iframe的人是不道德的!这里有几个方法教你如何防止自己的网站被别人的iframe删除。
(1)第一种防止页面被iframe的方法,在页面中添加如下JS代码:
查看代码打印
1
(2)第二种禁止页面被iframe的方式,在页面中添加如下JS代码:
查看代码打印
据说这个方案在火狐浏览器下会不断刷新页面。这是因为在 IE 下它是这个窗口,但在 Firefox 下它是空的。所以它会继续运行这段js代码,造成无限循环,导致页面一直刷新。
(3)禁止页面被iframe的第三种方法,在页面中添加如下JS代码:
查看代码打印
另外,如果使用php开发web程序,也可以直接使用php来达到禁止页面被iframe的效果。加入程序代码:
查看代码打印
if($_server['http_host']!='#39;){
exit('iframe我的页面被禁止!囧');
}
asp语言也有自己独特的禁止页面被iframe的实现代码,如下:
查看代码打印
host=Request.ServerVariables("SERVER_NAME")
如果主机""然后
response.redirect ""
如果结束
当然其他编程语言也可以通过获取环境变量来达到防止页面被iframe的效果,这里就不一一举例了。
php禁止网页抓取(php禁止网页抓取插件,sedphp如何用i来调用)
网站优化 • 优采云 发表了文章 • 0 个评论 • 77 次浏览 • 2021-10-23 01:01
php禁止网页抓取插件,sedphp如何用i来调用正则表达式i=4()forpathnamein$index():if(pathname=='/php/')breaki=4()forpathnamein$index():if(pathname=='/php/')breaki=4()forpathnamein$index():print_r($i)i=4()forpathnamein$index():print_r(pathname)i=4()print_r("#!/newpage($i)")。
正则是web语言重要的语法基础,任何语言的项目,如果没有正则,基本上是不敢迈出第一步的。php也不例外。needanewlanguagewithphp?php(personalhomepage)php正则是有两种用法,一种是原生的boost_libs_cl_string_timer(),另一种是php_header_text_regex(),这里以后者为例讲讲我最近的发现。
先看原生的boost_libs_cl_string_timer(),1.默认情况下,php_header_text_regex()是返回语句行宽度的。2.php_header_text_regex()只给解析器使用,不给正则表达式使用,也就是不会返回文本的位置;如果给正则表达式使用,将返回所有匹配符号的顺序。
我们看下面这个示例,如果要使用boost_libs_cl_string_timer(),必须要先指定返回语句行宽度。$index.php>index.php{error:whitecolorfunction"php_newpage"lackprettylocalfilesize;}$index.php如果想按照语句第一个和第二个连续的字符使用boost_libs_cl_string_timer()返回特定的unicode解析结果,怎么办呢?needanewlanguagewithphp?先看下面这个示例,如果要使用boost_libs_cl_string_timer()返回特定的unicode解析结果,怎么办呢?$index.php>index.php{error:pointlengthfunction"php_newpage"lackprettylocalfilesize;}$index.php$index.php{error:pointlengthfunction"php_newpage"lackprettylocalfilesize;}$index.php由于上述的规则:,会发现boost_libs_cl_string_timer()只支持四个数字。
php_header_text_regex()支持一个方程式解析匹配特定的unicode字符,具体可以见下图:相对于原生的boost_libs_cl_string_timer(),它可以支持更多的数字了。加上语句间的空格,继续看示例。首先看下面这个示例。{error:the"length"booststringtimerlackoffsetprettylocalvalue;}$index.php,$index.php,$index.php{error:the"leng。 查看全部
php禁止网页抓取(php禁止网页抓取插件,sedphp如何用i来调用)
php禁止网页抓取插件,sedphp如何用i来调用正则表达式i=4()forpathnamein$index():if(pathname=='/php/')breaki=4()forpathnamein$index():if(pathname=='/php/')breaki=4()forpathnamein$index():print_r($i)i=4()forpathnamein$index():print_r(pathname)i=4()print_r("#!/newpage($i)")。
正则是web语言重要的语法基础,任何语言的项目,如果没有正则,基本上是不敢迈出第一步的。php也不例外。needanewlanguagewithphp?php(personalhomepage)php正则是有两种用法,一种是原生的boost_libs_cl_string_timer(),另一种是php_header_text_regex(),这里以后者为例讲讲我最近的发现。
先看原生的boost_libs_cl_string_timer(),1.默认情况下,php_header_text_regex()是返回语句行宽度的。2.php_header_text_regex()只给解析器使用,不给正则表达式使用,也就是不会返回文本的位置;如果给正则表达式使用,将返回所有匹配符号的顺序。
我们看下面这个示例,如果要使用boost_libs_cl_string_timer(),必须要先指定返回语句行宽度。$index.php>index.php{error:whitecolorfunction"php_newpage"lackprettylocalfilesize;}$index.php如果想按照语句第一个和第二个连续的字符使用boost_libs_cl_string_timer()返回特定的unicode解析结果,怎么办呢?needanewlanguagewithphp?先看下面这个示例,如果要使用boost_libs_cl_string_timer()返回特定的unicode解析结果,怎么办呢?$index.php>index.php{error:pointlengthfunction"php_newpage"lackprettylocalfilesize;}$index.php$index.php{error:pointlengthfunction"php_newpage"lackprettylocalfilesize;}$index.php由于上述的规则:,会发现boost_libs_cl_string_timer()只支持四个数字。
php_header_text_regex()支持一个方程式解析匹配特定的unicode字符,具体可以见下图:相对于原生的boost_libs_cl_string_timer(),它可以支持更多的数字了。加上语句间的空格,继续看示例。首先看下面这个示例。{error:the"length"booststringtimerlackoffsetprettylocalvalue;}$index.php,$index.php,$index.php{error:the"leng。
php禁止网页抓取(robots禁止搜索引擎抓取php动态网址(图)操作建议)
网站优化 • 优采云 发表了文章 • 0 个评论 • 133 次浏览 • 2021-10-19 08:04
Robots禁止搜索引擎抓取php动态网址
所谓动态网址是指网址包括什么?, & 等字符网址,如news.php?lang=cn&class=1&id=2。我们开启了网站的伪静态后,对于网站的SEO来说,有必要避免搜索引擎爬取我们的动态网址网站。
你为什么要这样做?因为搜索引擎会在爬取同一个页面两次但最终确定同一个页面后触发网站。具体处罚不明确。总之,不利于网站的整个SEO。那么如何防止搜索引擎抓取我们的动态网址网站呢?
这个问题可以通过robots.txt文件解决,具体操作请看下面。
我们知道动态页面有一个共同的特点,就是会有一个“?” 链接中的问号符号,因此我们可以在robots.txt文件中写入以下规则:
User-agent: *
Disallow: /*?*
这将禁止搜索引擎抓取网站 的整个动态链接。另外,如果我们只想让搜索引擎抓取特定类型的文件,比如html格式的静态页面,我们可以在robots.txt中加入如下规则:
User-agent: *
Allow: .html$
Disallow: /
另外,记得把你写的robots.txt文件放在你的网站的根目录下,否则是不行的。此外,还有一个简单的快捷方式来编写规则。登录google网站管理员工具,在里面写规则,生成robots.txt文件即可。 查看全部
php禁止网页抓取(robots禁止搜索引擎抓取php动态网址(图)操作建议)
Robots禁止搜索引擎抓取php动态网址
所谓动态网址是指网址包括什么?, & 等字符网址,如news.php?lang=cn&class=1&id=2。我们开启了网站的伪静态后,对于网站的SEO来说,有必要避免搜索引擎爬取我们的动态网址网站。
你为什么要这样做?因为搜索引擎会在爬取同一个页面两次但最终确定同一个页面后触发网站。具体处罚不明确。总之,不利于网站的整个SEO。那么如何防止搜索引擎抓取我们的动态网址网站呢?
这个问题可以通过robots.txt文件解决,具体操作请看下面。
我们知道动态页面有一个共同的特点,就是会有一个“?” 链接中的问号符号,因此我们可以在robots.txt文件中写入以下规则:
User-agent: *
Disallow: /*?*
这将禁止搜索引擎抓取网站 的整个动态链接。另外,如果我们只想让搜索引擎抓取特定类型的文件,比如html格式的静态页面,我们可以在robots.txt中加入如下规则:
User-agent: *
Allow: .html$
Disallow: /
另外,记得把你写的robots.txt文件放在你的网站的根目录下,否则是不行的。此外,还有一个简单的快捷方式来编写规则。登录google网站管理员工具,在里面写规则,生成robots.txt文件即可。
php禁止网页抓取(有时候用file_get_contents()函数抓取网页会发生乱码现象)
网站优化 • 优采云 发表了文章 • 0 个评论 • 71 次浏览 • 2021-10-16 11:08
有时使用file_get_contents()函数获取网页会导致乱码。出现乱码的原因有两个,一是编码问题,二是目标页面开启了Gzip。
编码问题好处理,把抓到的内容转成编码即可($content=iconv("GBK", "UTF-8//IGNORE", $content);),我们这里讨论的就是Crawl带有 Gzip 的页面打开了。如何判断? Content-Encoding: 获取到的header中的gzip表示内容采用GZIP压缩。用 FireBug 查看它以了解页面上是否启用了 gzip。下面是用firebug查看我博客的header信息,打开Gzip。
请求头信息原始头信息
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Connection keep-alive
Cookie __utma=225240837.787252530.1317310581.1335406161.1335411401.1537; __utmz=225240837.1326850415.887.3.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=%E4%BB%BB%E4%BD%95%E9%A1%B9%E7%9B%AE%E9%83%BD%E4%B8%8D%E4%BC%9A%E9%82%A3%E4%B9%88%E7%AE%80%E5%8D%95%20site%3Awww.bkjia.com; PHPSESSID=888mj4425p8s0m7s0frre3ovc7; __utmc=225240837; __utmb=225240837.1.10.1335411401
Host www.bkjia.com
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0
以下是一些解决方案:
1. 使用内置的 zlib 库
如果服务器已经安装了zlib库,下面的代码可以轻松解决乱码问题。
$data = file_get_contents("compress.zlib://".$url);
2. 使用 CURL 代替 file_get_contents
function curl_get($url, $gzip=false){
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
if($gzip) curl_setopt($curl, CURLOPT_ENCODING, "gzip"); // 关键在这里
$content = curl_exec($curl);
curl_close($curl);
return $content;
}
3.使用gzip解压功能
function gzdecode($data) {
$len = strlen($data);
if ($len < 18 || strcmp(substr($data,0,2),"\x1f\x8b")) {
return null; // Not GZIP format (See RFC 1952)
}
$method = ord(substr($data,2,1)); // Compression method
$flags = ord(substr($data,3,1)); // Flags
if ($flags & 31 != $flags) {
// Reserved bits are set -- NOT ALLOWED by RFC 1952
return null;
}
// NOTE: $mtime may be negative (PHP integer limitations)
$mtime = unpack("V", substr($data,4,4));
$mtime = $mtime[1];
$xfl = substr($data,8,1);
$os = substr($data,8,1);
$headerlen = 10;
$extralen = 0;
$extra = "";
if ($flags & 4) {
// 2-byte length prefixed EXTRA data in header
if ($len - $headerlen - 2 < 8) {
return false; // Invalid format
}
$extralen = unpack("v",substr($data,8,2));
$extralen = $extralen[1];
if ($len - $headerlen - 2 - $extralen < 8) {
return false; // Invalid format
}
$extra = substr($data,10,$extralen);
$headerlen += 2 + $extralen;
}
$filenamelen = 0;
$filename = "";
if ($flags & 8) {
// C-style string file NAME data in header
if ($len - $headerlen - 1 < 8) {
return false; // Invalid format
}
$filenamelen = strpos(substr($data,8+$extralen),chr(0));
if ($filenamelen === false || $len - $headerlen - $filenamelen - 1 < 8) {
return false; // Invalid format
}
$filename = substr($data,$headerlen,$filenamelen);
$headerlen += $filenamelen + 1;
}
$commentlen = 0;
$comment = "";
if ($flags & 16) {
// C-style string COMMENT data in header
if ($len - $headerlen - 1 < 8) {
return false; // Invalid format
}
$commentlen = strpos(substr($data,8+$extralen+$filenamelen),chr(0));
if ($commentlen === false || $len - $headerlen - $commentlen - 1 < 8) {
return false; // Invalid header format
}
$comment = substr($data,$headerlen,$commentlen);
$headerlen += $commentlen + 1;
}
$headercrc = "";
if ($flags & 1) {
// 2-bytes (lowest order) of CRC32 on header present
if ($len - $headerlen - 2 < 8) {
return false; // Invalid format
}
$calccrc = crc32(substr($data,0,$headerlen)) & 0xffff;
$headercrc = unpack("v", substr($data,$headerlen,2));
$headercrc = $headercrc[1];
if ($headercrc != $calccrc) {
return false; // Bad header CRC
}
$headerlen += 2;
}
// GZIP FOOTER - These be negative due to PHP's limitations
$datacrc = unpack("V",substr($data,-8,4));
$datacrc = $datacrc[1];
$isize = unpack("V",substr($data,-4));
$isize = $isize[1];
// Perform the decompression:
$bodylen = $len-$headerlen-8;
if ($bodylen < 1) {
// This should never happen - IMPLEMENTATION BUG!
return null;
}
$body = substr($data,$headerlen,$bodylen);
$data = "";
if ($bodylen > 0) {
switch ($method) {
case 8:
// Currently the only supported compression method:
$data = gzinflate($body);
break;
default:
// Unknown compression method
return false;
}
} else {
// I'm not sure if zero-byte body content is allowed.
// Allow it for now... Do nothing...
}
// Verifiy decompressed size and CRC32:
// NOTE: This may fail with large data sizes depending on how
// PHP's integer limitations affect strlen() since $isize
// may be negative for large sizes.
if ($isize != strlen($data) || crc32($data) != $datacrc) {
// Bad format! Length or CRC doesn't match!
return false;
}
return $data;
}
使用:
$html=file_get_contents('http://www.bkjia.com/librarys/veda/');
$html=gzdecode($html);
介绍这三种方法,应该可以解决大部分gzip导致的爬行乱码问题。
TrueTechArticle 有时会使用 file_get_contents() 函数来抓取网页并出现乱码。出现乱码的原因有两个,一是编码问题,二是目标页面启用了Gzip。很好的编码问题... 查看全部
php禁止网页抓取(有时候用file_get_contents()函数抓取网页会发生乱码现象)
有时使用file_get_contents()函数获取网页会导致乱码。出现乱码的原因有两个,一是编码问题,二是目标页面开启了Gzip。
编码问题好处理,把抓到的内容转成编码即可($content=iconv("GBK", "UTF-8//IGNORE", $content);),我们这里讨论的就是Crawl带有 Gzip 的页面打开了。如何判断? Content-Encoding: 获取到的header中的gzip表示内容采用GZIP压缩。用 FireBug 查看它以了解页面上是否启用了 gzip。下面是用firebug查看我博客的header信息,打开Gzip。
请求头信息原始头信息
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Connection keep-alive
Cookie __utma=225240837.787252530.1317310581.1335406161.1335411401.1537; __utmz=225240837.1326850415.887.3.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=%E4%BB%BB%E4%BD%95%E9%A1%B9%E7%9B%AE%E9%83%BD%E4%B8%8D%E4%BC%9A%E9%82%A3%E4%B9%88%E7%AE%80%E5%8D%95%20site%3Awww.bkjia.com; PHPSESSID=888mj4425p8s0m7s0frre3ovc7; __utmc=225240837; __utmb=225240837.1.10.1335411401
Host www.bkjia.com
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0
以下是一些解决方案:
1. 使用内置的 zlib 库
如果服务器已经安装了zlib库,下面的代码可以轻松解决乱码问题。
$data = file_get_contents("compress.zlib://".$url);
2. 使用 CURL 代替 file_get_contents
function curl_get($url, $gzip=false){
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
if($gzip) curl_setopt($curl, CURLOPT_ENCODING, "gzip"); // 关键在这里
$content = curl_exec($curl);
curl_close($curl);
return $content;
}
3.使用gzip解压功能
function gzdecode($data) {
$len = strlen($data);
if ($len < 18 || strcmp(substr($data,0,2),"\x1f\x8b")) {
return null; // Not GZIP format (See RFC 1952)
}
$method = ord(substr($data,2,1)); // Compression method
$flags = ord(substr($data,3,1)); // Flags
if ($flags & 31 != $flags) {
// Reserved bits are set -- NOT ALLOWED by RFC 1952
return null;
}
// NOTE: $mtime may be negative (PHP integer limitations)
$mtime = unpack("V", substr($data,4,4));
$mtime = $mtime[1];
$xfl = substr($data,8,1);
$os = substr($data,8,1);
$headerlen = 10;
$extralen = 0;
$extra = "";
if ($flags & 4) {
// 2-byte length prefixed EXTRA data in header
if ($len - $headerlen - 2 < 8) {
return false; // Invalid format
}
$extralen = unpack("v",substr($data,8,2));
$extralen = $extralen[1];
if ($len - $headerlen - 2 - $extralen < 8) {
return false; // Invalid format
}
$extra = substr($data,10,$extralen);
$headerlen += 2 + $extralen;
}
$filenamelen = 0;
$filename = "";
if ($flags & 8) {
// C-style string file NAME data in header
if ($len - $headerlen - 1 < 8) {
return false; // Invalid format
}
$filenamelen = strpos(substr($data,8+$extralen),chr(0));
if ($filenamelen === false || $len - $headerlen - $filenamelen - 1 < 8) {
return false; // Invalid format
}
$filename = substr($data,$headerlen,$filenamelen);
$headerlen += $filenamelen + 1;
}
$commentlen = 0;
$comment = "";
if ($flags & 16) {
// C-style string COMMENT data in header
if ($len - $headerlen - 1 < 8) {
return false; // Invalid format
}
$commentlen = strpos(substr($data,8+$extralen+$filenamelen),chr(0));
if ($commentlen === false || $len - $headerlen - $commentlen - 1 < 8) {
return false; // Invalid header format
}
$comment = substr($data,$headerlen,$commentlen);
$headerlen += $commentlen + 1;
}
$headercrc = "";
if ($flags & 1) {
// 2-bytes (lowest order) of CRC32 on header present
if ($len - $headerlen - 2 < 8) {
return false; // Invalid format
}
$calccrc = crc32(substr($data,0,$headerlen)) & 0xffff;
$headercrc = unpack("v", substr($data,$headerlen,2));
$headercrc = $headercrc[1];
if ($headercrc != $calccrc) {
return false; // Bad header CRC
}
$headerlen += 2;
}
// GZIP FOOTER - These be negative due to PHP's limitations
$datacrc = unpack("V",substr($data,-8,4));
$datacrc = $datacrc[1];
$isize = unpack("V",substr($data,-4));
$isize = $isize[1];
// Perform the decompression:
$bodylen = $len-$headerlen-8;
if ($bodylen < 1) {
// This should never happen - IMPLEMENTATION BUG!
return null;
}
$body = substr($data,$headerlen,$bodylen);
$data = "";
if ($bodylen > 0) {
switch ($method) {
case 8:
// Currently the only supported compression method:
$data = gzinflate($body);
break;
default:
// Unknown compression method
return false;
}
} else {
// I'm not sure if zero-byte body content is allowed.
// Allow it for now... Do nothing...
}
// Verifiy decompressed size and CRC32:
// NOTE: This may fail with large data sizes depending on how
// PHP's integer limitations affect strlen() since $isize
// may be negative for large sizes.
if ($isize != strlen($data) || crc32($data) != $datacrc) {
// Bad format! Length or CRC doesn't match!
return false;
}
return $data;
}
使用:
$html=file_get_contents('http://www.bkjia.com/librarys/veda/');
$html=gzdecode($html);
介绍这三种方法,应该可以解决大部分gzip导致的爬行乱码问题。
TrueTechArticle 有时会使用 file_get_contents() 函数来抓取网页并出现乱码。出现乱码的原因有两个,一是编码问题,二是目标页面启用了Gzip。很好的编码问题...
php禁止网页抓取(如何有效地、可靠地让“部分文章屏蔽搜索引擎”?)
网站优化 • 优采云 发表了文章 • 0 个评论 • 89 次浏览 • 2021-10-13 16:10
WordWPress企业网站和WordWPress外贸企业网站在发布产品时可能会遇到大部分内容不变文章,只需要修改部分参数或图片即可那种网站文章发布,我们可以使用WordPress文章复制插件-Duplicate Post来实现。当然,有时我们不希望搜索引擎收录类似产品文章,这可能会稀释关键词的权重。我们需要有针对性地屏蔽部分文章,那么,如何有效、可靠地实现“部分文章屏蔽搜索引擎”呢?方法如下:
robots.txt 文章页面块
在网站的根目录下找到robots.txt文件,并在其中添加拦截代码。
假设我想屏蔽/category/post-name.html,添加1行如下代码:
Disallow: /category/post-name.html
添加文章屏蔽选项
在当前主题的functions.php文件中加入如下代码即可使用:
文章/页面编辑页面添加选项
function wpyou_add_custom_box() {
if (function_exists('add_meta_box')) {
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'post', 'side', 'low');
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'page', 'side', 'low');
}
}
add_action('add_meta_boxes', 'wpyou_add_custom_box');
function wpyou_allow_se() {
global $post;
//添加验证字段
wp_nonce_field('wpyou_allow_se', 'wpyou_allow_se_nonce');
$meta_value = get_post_meta($post->ID, 'wpyou_allow_se', true);
if($meta_value)
echo ' 屏蔽搜索引擎';
else
echo ' 屏蔽搜索引擎';
}
// 保存选项设置
function wpyouse_save_postdata($post_id) {
// 验证
if ( !isset( $_POST['wpyou_allow_se_nonce']))
return $post_id;
$nonce = $_POST['wpyou_allow_se_nonce'];
// 验证字段是否合法
if (!wp_verify_nonce( $nonce, 'wpyou_allow_se'))
return $post_id;
// 判断是否自动保存
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
return $post_id;
// 验证用户权限
if ('page' == $_POST['post_type']) {
if ( !current_user_can('edit_page', $post_id))
return $post_id;
}
else {
if (!current_user_can('edit_post', $post_id))
return $post_id;
}
// 更新设置
if(!empty($_POST['wpyou-allow-se']))
update_post_meta($post_id, 'wpyou_allow_se', '1');
else
update_post_meta($post_id, 'wpyou_allow_se', '0');
}
add_action('save_post', 'wpyouse_save_postdata');
// 对于设置不允许抓取文章和页面
// 禁止搜索引擎抓取,返回404
function do_wpyou_allow_se() {
// 本功能只对文章和页面有效
if(is_singular()) {
global $post;
$is_robots = 0;
$wpyou_allow_se = get_post_meta($post->ID, 'wpyou_allow_se', true);
if(!empty($wpyou_allow_se)) {
// 下面是搜索引擎Agent判断关键字数组
// 有点简单,自己优化一下吧
$bots = array(
'Baiduspider',
'Googlebot',
'sogou spider',
'Sogou web spider',
'YodaoBot',
'Bingbot',
'Slurp',
'MSNBot',
'yahoo-blogs',
'psbot',
'Yandex',
'Yeti',
'blogsearch',
'EasouSpider',
'Mediapartners-Google'
);
$useragent = $_SERVER['HTTP_USER_AGENT'];
foreach ($bots as $lookfor) {
if (stristr($useragent, $lookfor) !== false) {
$is_robots = 1;
break;
}
}
// 如果当前文章/页面禁止搜索引擎抓取,返回404
if($is_robots) {
status_header(404);
exit;
}
}
}
}
add_action('wp', 'do_wpyou_allow_se');
如何使用
将上述代码添加到当前主题的functions.php文件后,我们就可以正常使用了,完全傻瓜式。在WordPress后端文章和页面的编辑页面,在右栏的底部,我们可以看到这样的复选框:
WordWPress 实现禁止搜索引擎抓取指定的文章(page)
如果当前文章/page 需要被搜索引擎禁止,直接勾选即可。 查看全部
php禁止网页抓取(如何有效地、可靠地让“部分文章屏蔽搜索引擎”?)
WordWPress企业网站和WordWPress外贸企业网站在发布产品时可能会遇到大部分内容不变文章,只需要修改部分参数或图片即可那种网站文章发布,我们可以使用WordPress文章复制插件-Duplicate Post来实现。当然,有时我们不希望搜索引擎收录类似产品文章,这可能会稀释关键词的权重。我们需要有针对性地屏蔽部分文章,那么,如何有效、可靠地实现“部分文章屏蔽搜索引擎”呢?方法如下:
robots.txt 文章页面块
在网站的根目录下找到robots.txt文件,并在其中添加拦截代码。
假设我想屏蔽/category/post-name.html,添加1行如下代码:
Disallow: /category/post-name.html
添加文章屏蔽选项
在当前主题的functions.php文件中加入如下代码即可使用:
文章/页面编辑页面添加选项
function wpyou_add_custom_box() {
if (function_exists('add_meta_box')) {
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'post', 'side', 'low');
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'page', 'side', 'low');
}
}
add_action('add_meta_boxes', 'wpyou_add_custom_box');
function wpyou_allow_se() {
global $post;
//添加验证字段
wp_nonce_field('wpyou_allow_se', 'wpyou_allow_se_nonce');
$meta_value = get_post_meta($post->ID, 'wpyou_allow_se', true);
if($meta_value)
echo ' 屏蔽搜索引擎';
else
echo ' 屏蔽搜索引擎';
}
// 保存选项设置
function wpyouse_save_postdata($post_id) {
// 验证
if ( !isset( $_POST['wpyou_allow_se_nonce']))
return $post_id;
$nonce = $_POST['wpyou_allow_se_nonce'];
// 验证字段是否合法
if (!wp_verify_nonce( $nonce, 'wpyou_allow_se'))
return $post_id;
// 判断是否自动保存
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
return $post_id;
// 验证用户权限
if ('page' == $_POST['post_type']) {
if ( !current_user_can('edit_page', $post_id))
return $post_id;
}
else {
if (!current_user_can('edit_post', $post_id))
return $post_id;
}
// 更新设置
if(!empty($_POST['wpyou-allow-se']))
update_post_meta($post_id, 'wpyou_allow_se', '1');
else
update_post_meta($post_id, 'wpyou_allow_se', '0');
}
add_action('save_post', 'wpyouse_save_postdata');
// 对于设置不允许抓取文章和页面
// 禁止搜索引擎抓取,返回404
function do_wpyou_allow_se() {
// 本功能只对文章和页面有效
if(is_singular()) {
global $post;
$is_robots = 0;
$wpyou_allow_se = get_post_meta($post->ID, 'wpyou_allow_se', true);
if(!empty($wpyou_allow_se)) {
// 下面是搜索引擎Agent判断关键字数组
// 有点简单,自己优化一下吧
$bots = array(
'Baiduspider',
'Googlebot',
'sogou spider',
'Sogou web spider',
'YodaoBot',
'Bingbot',
'Slurp',
'MSNBot',
'yahoo-blogs',
'psbot',
'Yandex',
'Yeti',
'blogsearch',
'EasouSpider',
'Mediapartners-Google'
);
$useragent = $_SERVER['HTTP_USER_AGENT'];
foreach ($bots as $lookfor) {
if (stristr($useragent, $lookfor) !== false) {
$is_robots = 1;
break;
}
}
// 如果当前文章/页面禁止搜索引擎抓取,返回404
if($is_robots) {
status_header(404);
exit;
}
}
}
}
add_action('wp', 'do_wpyou_allow_se');
如何使用
将上述代码添加到当前主题的functions.php文件后,我们就可以正常使用了,完全傻瓜式。在WordPress后端文章和页面的编辑页面,在右栏的底部,我们可以看到这样的复选框:

WordWPress 实现禁止搜索引擎抓取指定的文章(page)
如果当前文章/page 需要被搜索引擎禁止,直接勾选即可。
php禁止网页抓取(接下来K1源码网为讲解如何提高搜索引擎的抓取频次的方法)
网站优化 • 优采云 发表了文章 • 0 个评论 • 59 次浏览 • 2021-10-13 16:09
新的网站上线了,搜索引擎将是收录。如果要增加网站的收录数量,需要能够吸引更多的蜘蛛爬取网站,增加爬取频率,那么如何适当提高爬取频率搜索引擎?接下来,K1源码网将详细讲解如何提高搜索引擎爬取的频率。
1.网站页面上的内部链接
如果站点页面较深,蜘蛛将无法抓取,用户体验不是很好,页面权重相对分散。页面浅的时候,可以添加几个链接路径进行通信,这样不仅蜘蛛会继续爬行,而且用户的点击也会保持粘性。
2.网站 内容更新频率
如果想让蜘蛛频繁爬取,首先网站的更新频率不能低。如果新站点每天更新多一点,如果网站的更新不到位,蜘蛛会降低爬取的频率,甚至不爬取Pick。相反,如果页面有更新,控制网站的更新频率,蜘蛛会根据新链接爬到新页面。
3.交换友情链接
SEO 知道友情链接的作用。有助于网站的排名,同时也是一种引导蜘蛛在网站之间来回爬行的方式。友情链接实际上比外部链接要好。效果更好。所以我们要和一些经常更新的网站交换链接。
4.链外发送
外链的作用是传递重量,吸引流量,吸引蜘蛛。正是因为外链有这个吸引蜘蛛的作用,所以我们在发布新的网站时,通常会去一些收录效果更好的网站发布一些外链,以吸引蜘蛛爬行。
要增加网站的收录,需要吸引蜘蛛来增加爬行频率。收录是保证网站流量的基础,爬取频率是收录保证。
免责声明:用户在使用本系统时,必须在国家相关法律法规的范围内,并获得国家有关部门的授权,禁止将其用于一切非法活动。使用仅限于测试、实验和研究目的,禁止用于所有商业运营。对于用户在使用过程中的任何违法行为,本团队不承担任何责任。 查看全部
php禁止网页抓取(接下来K1源码网为讲解如何提高搜索引擎的抓取频次的方法)
新的网站上线了,搜索引擎将是收录。如果要增加网站的收录数量,需要能够吸引更多的蜘蛛爬取网站,增加爬取频率,那么如何适当提高爬取频率搜索引擎?接下来,K1源码网将详细讲解如何提高搜索引擎爬取的频率。
1.网站页面上的内部链接
如果站点页面较深,蜘蛛将无法抓取,用户体验不是很好,页面权重相对分散。页面浅的时候,可以添加几个链接路径进行通信,这样不仅蜘蛛会继续爬行,而且用户的点击也会保持粘性。
2.网站 内容更新频率
如果想让蜘蛛频繁爬取,首先网站的更新频率不能低。如果新站点每天更新多一点,如果网站的更新不到位,蜘蛛会降低爬取的频率,甚至不爬取Pick。相反,如果页面有更新,控制网站的更新频率,蜘蛛会根据新链接爬到新页面。
3.交换友情链接
SEO 知道友情链接的作用。有助于网站的排名,同时也是一种引导蜘蛛在网站之间来回爬行的方式。友情链接实际上比外部链接要好。效果更好。所以我们要和一些经常更新的网站交换链接。
4.链外发送
外链的作用是传递重量,吸引流量,吸引蜘蛛。正是因为外链有这个吸引蜘蛛的作用,所以我们在发布新的网站时,通常会去一些收录效果更好的网站发布一些外链,以吸引蜘蛛爬行。
要增加网站的收录,需要吸引蜘蛛来增加爬行频率。收录是保证网站流量的基础,爬取频率是收录保证。
免责声明:用户在使用本系统时,必须在国家相关法律法规的范围内,并获得国家有关部门的授权,禁止将其用于一切非法活动。使用仅限于测试、实验和研究目的,禁止用于所有商业运营。对于用户在使用过程中的任何违法行为,本团队不承担任何责任。
php禁止网页抓取(如何有效地、可靠地让“部分文章屏蔽搜索引擎”?)
网站优化 • 优采云 发表了文章 • 0 个评论 • 75 次浏览 • 2021-10-12 22:07
WordWPress企业网站和WordWPress外贸企业网站在发布产品时可能会遇到大部分内容不变文章,只需要修改部分参数或图片即可那种网站文章发布,我们可以使用WordPress文章复制插件——Duplicate Post来实现。当然,有时我们不希望搜索引擎收录类似产品文章,这可能会稀释关键词的权重。我们需要有针对性地屏蔽部分文章,那么,如何有效、可靠地实现“部分文章屏蔽搜索引擎”呢?方法如下:
robots.txt 文章页面块
在网站的根目录下找到robots.txt文件,并在其中添加拦截代码。
假设我想屏蔽/category/post-name.html,添加1行如下代码:
Disallow: /category/post-name.html
添加文章屏蔽选项
在当前主题的functions.php文件中加入如下代码即可使用:
文章/页面编辑页面添加选项
function wpyou_add_custom_box() {
if (function_exists('add_meta_box')) {
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'post', 'side', 'low');
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'page', 'side', 'low');
}
}
add_action('add_meta_boxes', 'wpyou_add_custom_box');
function wpyou_allow_se() {
global $post;
//添加验证字段
wp_nonce_field('wpyou_allow_se', 'wpyou_allow_se_nonce');
$meta_value = get_post_meta($post->ID, 'wpyou_allow_se', true);
if($meta_value)
echo ' 屏蔽搜索引擎';
else
echo ' 屏蔽搜索引擎';
}
// 保存选项设置
function wpyouse_save_postdata($post_id) {
// 验证
if ( !isset( $_POST['wpyou_allow_se_nonce']))
return $post_id;
$nonce = $_POST['wpyou_allow_se_nonce'];
// 验证字段是否合法
if (!wp_verify_nonce( $nonce, 'wpyou_allow_se'))
return $post_id;
// 判断是否自动保存
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
return $post_id;
// 验证用户权限
if ('page' == $_POST['post_type']) {
if ( !current_user_can('edit_page', $post_id))
return $post_id;
}
else {
if (!current_user_can('edit_post', $post_id))
return $post_id;
}
// 更新设置
if(!empty($_POST['wpyou-allow-se']))
update_post_meta($post_id, 'wpyou_allow_se', '1');
else
update_post_meta($post_id, 'wpyou_allow_se', '0');
}
add_action('save_post', 'wpyouse_save_postdata');
// 对于设置不允许抓取文章和页面
// 禁止搜索引擎抓取,返回404
function do_wpyou_allow_se() {
// 本功能只对文章和页面有效
if(is_singular()) {
global $post;
$is_robots = 0;
$wpyou_allow_se = get_post_meta($post->ID, 'wpyou_allow_se', true);
if(!empty($wpyou_allow_se)) {
// 下面是搜索引擎Agent判断关键字数组
// 有点简单,自己优化一下吧
$bots = array(
'Baiduspider',
'Googlebot',
'sogou spider',
'Sogou web spider',
'YodaoBot',
'Bingbot',
'Slurp',
'MSNBot',
'yahoo-blogs',
'psbot',
'Yandex',
'Yeti',
'blogsearch',
'EasouSpider',
'Mediapartners-Google'
);
$useragent = $_SERVER['HTTP_USER_AGENT'];
foreach ($bots as $lookfor) {
if (stristr($useragent, $lookfor) !== false) {
$is_robots = 1;
break;
}
}
// 如果当前文章/页面禁止搜索引擎抓取,返回404
if($is_robots) {
status_header(404);
exit;
}
}
}
}
add_action('wp', 'do_wpyou_allow_se');
如何使用
将上述代码添加到当前主题的functions.php文件后,我们就可以正常使用了,完全傻瓜式。在WordPress后台文章和页面的编辑页面,在右栏的底部,我们可以看到这样的复选框:
如果当前文章/page 需要被搜索引擎禁止,直接勾选即可。
喜欢 (4) 查看全部
php禁止网页抓取(如何有效地、可靠地让“部分文章屏蔽搜索引擎”?)
WordWPress企业网站和WordWPress外贸企业网站在发布产品时可能会遇到大部分内容不变文章,只需要修改部分参数或图片即可那种网站文章发布,我们可以使用WordPress文章复制插件——Duplicate Post来实现。当然,有时我们不希望搜索引擎收录类似产品文章,这可能会稀释关键词的权重。我们需要有针对性地屏蔽部分文章,那么,如何有效、可靠地实现“部分文章屏蔽搜索引擎”呢?方法如下:
robots.txt 文章页面块
在网站的根目录下找到robots.txt文件,并在其中添加拦截代码。
假设我想屏蔽/category/post-name.html,添加1行如下代码:
Disallow: /category/post-name.html
添加文章屏蔽选项
在当前主题的functions.php文件中加入如下代码即可使用:
文章/页面编辑页面添加选项
function wpyou_add_custom_box() {
if (function_exists('add_meta_box')) {
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'post', 'side', 'low');
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'page', 'side', 'low');
}
}
add_action('add_meta_boxes', 'wpyou_add_custom_box');
function wpyou_allow_se() {
global $post;
//添加验证字段
wp_nonce_field('wpyou_allow_se', 'wpyou_allow_se_nonce');
$meta_value = get_post_meta($post->ID, 'wpyou_allow_se', true);
if($meta_value)
echo ' 屏蔽搜索引擎';
else
echo ' 屏蔽搜索引擎';
}
// 保存选项设置
function wpyouse_save_postdata($post_id) {
// 验证
if ( !isset( $_POST['wpyou_allow_se_nonce']))
return $post_id;
$nonce = $_POST['wpyou_allow_se_nonce'];
// 验证字段是否合法
if (!wp_verify_nonce( $nonce, 'wpyou_allow_se'))
return $post_id;
// 判断是否自动保存
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
return $post_id;
// 验证用户权限
if ('page' == $_POST['post_type']) {
if ( !current_user_can('edit_page', $post_id))
return $post_id;
}
else {
if (!current_user_can('edit_post', $post_id))
return $post_id;
}
// 更新设置
if(!empty($_POST['wpyou-allow-se']))
update_post_meta($post_id, 'wpyou_allow_se', '1');
else
update_post_meta($post_id, 'wpyou_allow_se', '0');
}
add_action('save_post', 'wpyouse_save_postdata');
// 对于设置不允许抓取文章和页面
// 禁止搜索引擎抓取,返回404
function do_wpyou_allow_se() {
// 本功能只对文章和页面有效
if(is_singular()) {
global $post;
$is_robots = 0;
$wpyou_allow_se = get_post_meta($post->ID, 'wpyou_allow_se', true);
if(!empty($wpyou_allow_se)) {
// 下面是搜索引擎Agent判断关键字数组
// 有点简单,自己优化一下吧
$bots = array(
'Baiduspider',
'Googlebot',
'sogou spider',
'Sogou web spider',
'YodaoBot',
'Bingbot',
'Slurp',
'MSNBot',
'yahoo-blogs',
'psbot',
'Yandex',
'Yeti',
'blogsearch',
'EasouSpider',
'Mediapartners-Google'
);
$useragent = $_SERVER['HTTP_USER_AGENT'];
foreach ($bots as $lookfor) {
if (stristr($useragent, $lookfor) !== false) {
$is_robots = 1;
break;
}
}
// 如果当前文章/页面禁止搜索引擎抓取,返回404
if($is_robots) {
status_header(404);
exit;
}
}
}
}
add_action('wp', 'do_wpyou_allow_se');
如何使用
将上述代码添加到当前主题的functions.php文件后,我们就可以正常使用了,完全傻瓜式。在WordPress后台文章和页面的编辑页面,在右栏的底部,我们可以看到这样的复选框:

如果当前文章/page 需要被搜索引擎禁止,直接勾选即可。
喜欢 (4)
php禁止网页抓取(robots.txtMeta标签的功能是怎么放在网站中的?)
网站优化 • 优采云 发表了文章 • 0 个评论 • 81 次浏览 • 2021-10-12 22:04
robots.txt放在网站,文件级网络蜘蛛授权;而robots Meta标签放置在网页中,一般在某些网页需要单独设置时使用。两者的功能是一样的。
Meta robots标签必须放在中间,格式:
content中的值决定了允许爬取的类型,必须同时收录两个值:是否允许索引(index)和是否关注链接(follow,也可以理解为是否允许继续爬行)沿着网页中的超链接)。共有4个参数可选,形成4种组合:
index,follow:允许抓取此页面并允许跟踪链接。
index, nofollow:允许抓取此页面,但禁止跟踪链接。
noindex,follow:禁止抓取此页面,但允许链接跟踪。
noindex、nofllow:禁止抓取本页,禁止关注本页链接。
允许搜索引擎收录您的网页,但禁止其收录网页上的图片:
注意:需要屏蔽或删除哪个网页,在该网页上添加标签,其他网页不受影响。
该标签用于特定网页,而不是整个 网站。
上面的1和4还有另外一种写法:
index,follow 可以写成all,如:
noindex,nofollow 可以写成none,如:
需要注意的是,很多搜索引擎不支持robots Meta标签,只有少数搜索引擎可以识别并根据给定值抓取。因此,尽量使用robots.txt文件来限制爬行。
最后,我想给你一个建议。不要在robots.txt中设置太多禁止的文件或目录,只设置你真的不想被搜索引擎索引的目录和文件。
尤其是当你不确定文件或目录的作用时,不要轻易禁止爬行。前段时间旅行的朋友,网站里面有很多旅游景点的图片,但是都没有被几大搜索引擎收录。后来查看网站,发现图片目录上传在管理目录admin下,被robots.txt禁止爬取。 查看全部
php禁止网页抓取(robots.txtMeta标签的功能是怎么放在网站中的?)
robots.txt放在网站,文件级网络蜘蛛授权;而robots Meta标签放置在网页中,一般在某些网页需要单独设置时使用。两者的功能是一样的。
Meta robots标签必须放在中间,格式:
content中的值决定了允许爬取的类型,必须同时收录两个值:是否允许索引(index)和是否关注链接(follow,也可以理解为是否允许继续爬行)沿着网页中的超链接)。共有4个参数可选,形成4种组合:
index,follow:允许抓取此页面并允许跟踪链接。
index, nofollow:允许抓取此页面,但禁止跟踪链接。
noindex,follow:禁止抓取此页面,但允许链接跟踪。
noindex、nofllow:禁止抓取本页,禁止关注本页链接。
允许搜索引擎收录您的网页,但禁止其收录网页上的图片:
注意:需要屏蔽或删除哪个网页,在该网页上添加标签,其他网页不受影响。
该标签用于特定网页,而不是整个 网站。
上面的1和4还有另外一种写法:
index,follow 可以写成all,如:
noindex,nofollow 可以写成none,如:
需要注意的是,很多搜索引擎不支持robots Meta标签,只有少数搜索引擎可以识别并根据给定值抓取。因此,尽量使用robots.txt文件来限制爬行。
最后,我想给你一个建议。不要在robots.txt中设置太多禁止的文件或目录,只设置你真的不想被搜索引擎索引的目录和文件。
尤其是当你不确定文件或目录的作用时,不要轻易禁止爬行。前段时间旅行的朋友,网站里面有很多旅游景点的图片,但是都没有被几大搜索引擎收录。后来查看网站,发现图片目录上传在管理目录admin下,被robots.txt禁止爬取。
php禁止网页抓取(百度上线“闪电算法”会带来哪些影响?(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 56 次浏览 • 2021-11-09 01:23
10月初,百度推出“闪电算法”,主要强调移动搜索页面首屏加载时间会影响搜索排名。一起来看看“闪电算法”带来的影响吧!
《闪电算法》的具体实现内容:
手机搜索页面首屏加载时间会影响搜索排名。2秒内打开手机网页首屏,手机搜索下页面评价和流量倾斜优先处理;同时,在移动搜索页面的第一屏上加载非常缓慢(3 秒或更长时间)的网页将被拒绝 Suppress。
重点解读
1、闪电算法的意义
百度用户体验部研究表明,用户期望和可接受的页面加载时间在3秒以内。如果页面加载时间过慢,用户就会失去耐心而选择离开,这对用户和站长来说都是一个很大的损失。“闪电算法”不仅体现了百度移动搜索更加注重页面加载速度的决心,也体现了百度移动搜索希望站长从与用户共赢的角度优化网站。
2、2秒内打开
闪电算法第一次明确。如果移动网页的首屏在2秒内打开,将获得优先处理,以提高页面评价并在移动搜索下获得更多展示机会。同时,手机搜索页面首屏加载很慢(3秒及以上)的页面会被抑制。如果在 2~3 秒内加载第一屏,页面评价不会增加或减少。
3、技术建议
1)“闪电算法”主要针对首屏的加载时间,所以建议为首屏请求预留网络带宽,以满足不同网络条件下的加载速度和用户体验。
2)“闪电算法”是百度移动友好标准的重要组成部分。页面浏览体验、资源或功能的易用性、页面是否与移动终端兼容等,都影响着移动用户体验的满意度。所以我也提醒站长,在构建网站时,要站在与用户共赢的角度,优化移动端的用户体验。
3) 使用通用加速方案(如MIP、AMP)对网页进行全面加速。比如使用MIP可以提高网页加载速度30%~80%,部分测试站点的加速可以提高到85%,实现网页的瞬间到达。
根据百度全网速度数据,非MIP页面首页加载时间一般在3200毫秒左右,而使用MIP技术的网页首页加载时间约为1640毫秒。
此外,MIP页面在搜索结果页面上标有蓝色闪电图标,在用户体验上也有别于一般的手机页面。
百度推出“闪电算法”,手机页面首屏加速迫在眉睫
事实上,不仅是百度,各大搜索引擎也越来越关注手机网页的打开速度,而加载速度是衡量网页手机友好度的重要标准。因此,再次建议站长重视移动端体验,打造用户与网站共赢的网络生态。 查看全部
php禁止网页抓取(百度上线“闪电算法”会带来哪些影响?(组图))
10月初,百度推出“闪电算法”,主要强调移动搜索页面首屏加载时间会影响搜索排名。一起来看看“闪电算法”带来的影响吧!
《闪电算法》的具体实现内容:
手机搜索页面首屏加载时间会影响搜索排名。2秒内打开手机网页首屏,手机搜索下页面评价和流量倾斜优先处理;同时,在移动搜索页面的第一屏上加载非常缓慢(3 秒或更长时间)的网页将被拒绝 Suppress。
重点解读
1、闪电算法的意义
百度用户体验部研究表明,用户期望和可接受的页面加载时间在3秒以内。如果页面加载时间过慢,用户就会失去耐心而选择离开,这对用户和站长来说都是一个很大的损失。“闪电算法”不仅体现了百度移动搜索更加注重页面加载速度的决心,也体现了百度移动搜索希望站长从与用户共赢的角度优化网站。
2、2秒内打开
闪电算法第一次明确。如果移动网页的首屏在2秒内打开,将获得优先处理,以提高页面评价并在移动搜索下获得更多展示机会。同时,手机搜索页面首屏加载很慢(3秒及以上)的页面会被抑制。如果在 2~3 秒内加载第一屏,页面评价不会增加或减少。
3、技术建议
1)“闪电算法”主要针对首屏的加载时间,所以建议为首屏请求预留网络带宽,以满足不同网络条件下的加载速度和用户体验。
2)“闪电算法”是百度移动友好标准的重要组成部分。页面浏览体验、资源或功能的易用性、页面是否与移动终端兼容等,都影响着移动用户体验的满意度。所以我也提醒站长,在构建网站时,要站在与用户共赢的角度,优化移动端的用户体验。
3) 使用通用加速方案(如MIP、AMP)对网页进行全面加速。比如使用MIP可以提高网页加载速度30%~80%,部分测试站点的加速可以提高到85%,实现网页的瞬间到达。
根据百度全网速度数据,非MIP页面首页加载时间一般在3200毫秒左右,而使用MIP技术的网页首页加载时间约为1640毫秒。
此外,MIP页面在搜索结果页面上标有蓝色闪电图标,在用户体验上也有别于一般的手机页面。
百度推出“闪电算法”,手机页面首屏加速迫在眉睫
事实上,不仅是百度,各大搜索引擎也越来越关注手机网页的打开速度,而加载速度是衡量网页手机友好度的重要标准。因此,再次建议站长重视移动端体验,打造用户与网站共赢的网络生态。
php禁止网页抓取(百度上线“闪电算法”会带来哪些影响?(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2021-11-09 01:22
10月初,百度推出“闪电算法”,主要强调移动搜索页面首屏加载时间会影响搜索排名。一起来看看“闪电算法”带来的影响吧!
《闪电算法》的具体实现内容:
手机搜索页面首屏加载时间会影响搜索排名。2秒内打开手机网页首屏,手机搜索下页面评价和流量倾斜优先处理;同时,在移动搜索页面的第一屏上加载非常缓慢(3 秒或更长时间)的网页将被拒绝 Suppress。
重点解读
1、闪电算法的意义
百度用户体验部研究表明,用户期望和可接受的页面加载时间在3秒以内。如果页面加载时间过慢,用户就会失去耐心而选择离开,这对用户和站长来说都是一个很大的损失。“闪电算法”不仅体现了百度移动搜索更加注重页面加载速度的决心,也体现了百度移动搜索希望站长从与用户共赢的角度优化网站。
2、2秒内打开
闪电算法第一次明确。如果移动网页的首屏在2秒内打开,将获得优先处理,以提高页面评价并在移动搜索下获得更多展示机会。同时,手机搜索页面首屏加载很慢(3秒及以上)的页面会被抑制。如果在 2~3 秒内加载第一屏,页面评价不会增加或减少。
3、技术建议
1)“闪电算法”主要针对首屏的加载时间,所以建议为首屏请求预留网络带宽,以满足不同网络条件下的加载速度和用户体验。
2)“闪电算法”是百度移动友好标准的重要组成部分。页面浏览体验、资源或功能的易用性、页面是否与移动终端兼容等,都影响着移动用户体验的满意度。所以我也提醒站长,在构建网站时,要站在与用户共赢的角度,优化移动端的用户体验。
3) 使用通用加速方案(如MIP、AMP)对网页进行全面加速。比如使用MIP可以提高网页加载速度30%~80%,部分测试站点的加速可以提高到85%,实现网页的瞬间到达。
根据百度全网速度数据,非MIP页面首页加载时间一般在3200毫秒左右,而使用MIP技术的网页首页加载时间约为1640毫秒。
此外,MIP页面在搜索结果页面上标有蓝色闪电图标,在用户体验上也有别于一般的手机页面。
百度推出“闪电算法”,手机页面首屏加速迫在眉睫
事实上,不仅是百度,各大搜索引擎也越来越关注手机网页的打开速度,而加载速度是衡量网页手机友好度的重要标准。因此,再次建议站长重视移动端体验,打造用户与网站共赢的网络生态。 查看全部
php禁止网页抓取(百度上线“闪电算法”会带来哪些影响?(组图))
10月初,百度推出“闪电算法”,主要强调移动搜索页面首屏加载时间会影响搜索排名。一起来看看“闪电算法”带来的影响吧!
《闪电算法》的具体实现内容:
手机搜索页面首屏加载时间会影响搜索排名。2秒内打开手机网页首屏,手机搜索下页面评价和流量倾斜优先处理;同时,在移动搜索页面的第一屏上加载非常缓慢(3 秒或更长时间)的网页将被拒绝 Suppress。
重点解读
1、闪电算法的意义
百度用户体验部研究表明,用户期望和可接受的页面加载时间在3秒以内。如果页面加载时间过慢,用户就会失去耐心而选择离开,这对用户和站长来说都是一个很大的损失。“闪电算法”不仅体现了百度移动搜索更加注重页面加载速度的决心,也体现了百度移动搜索希望站长从与用户共赢的角度优化网站。
2、2秒内打开
闪电算法第一次明确。如果移动网页的首屏在2秒内打开,将获得优先处理,以提高页面评价并在移动搜索下获得更多展示机会。同时,手机搜索页面首屏加载很慢(3秒及以上)的页面会被抑制。如果在 2~3 秒内加载第一屏,页面评价不会增加或减少。
3、技术建议
1)“闪电算法”主要针对首屏的加载时间,所以建议为首屏请求预留网络带宽,以满足不同网络条件下的加载速度和用户体验。
2)“闪电算法”是百度移动友好标准的重要组成部分。页面浏览体验、资源或功能的易用性、页面是否与移动终端兼容等,都影响着移动用户体验的满意度。所以我也提醒站长,在构建网站时,要站在与用户共赢的角度,优化移动端的用户体验。
3) 使用通用加速方案(如MIP、AMP)对网页进行全面加速。比如使用MIP可以提高网页加载速度30%~80%,部分测试站点的加速可以提高到85%,实现网页的瞬间到达。
根据百度全网速度数据,非MIP页面首页加载时间一般在3200毫秒左右,而使用MIP技术的网页首页加载时间约为1640毫秒。
此外,MIP页面在搜索结果页面上标有蓝色闪电图标,在用户体验上也有别于一般的手机页面。
百度推出“闪电算法”,手机页面首屏加速迫在眉睫
事实上,不仅是百度,各大搜索引擎也越来越关注手机网页的打开速度,而加载速度是衡量网页手机友好度的重要标准。因此,再次建议站长重视移动端体验,打造用户与网站共赢的网络生态。
php禁止网页抓取(禁用浏览器缓存的方法和方法缓存详解!! )
网站优化 • 优采云 发表了文章 • 0 个评论 • 59 次浏览 • 2021-11-07 22:00
)
一般情况下,我们想查看互联网上的网页。当您第一次访问该网页时,系统会首先将该网页下载到您本地计算机上的一个临时文件夹中进行缓存。一段时间后,当您第二次或第三次访问该网页时,浏览器会直接从您本地计算机的临时文件夹中读取该文件。这样做的好处是避免每次都重新下载,占用大量资金。时间和网络资源,不得不说页面缓存加快了网页的显示速度。当然,它也有它的缺点。例如,当服务器上的网页已经更新,而本地显示的网页还没有更新时,无法及时显示更新。内容之后,在某些情况下,我们需要禁止浏览器缓存,
一、对于静态页面(由元标记设置):
或者通过pragma no-cache设置,pragma出现在http-equiv属性中,content属性的no-cache值用来表示是否缓存网页(为了提高速度,有些浏览器会缓存浏览器浏览的页面,通过下面的定义,浏览器一般不缓存页面,浏览器不能离线浏览)。
Cache-Control:缓存控制,指定了请求和响应所遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control 不会修改另一个消息处理过程中的缓存处理过程。请求中的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached等。响应消息中的指令包括public、private、no-cache、和 no-store , No-transform, must-revalidate, proxy-revalidate, max-age。每条消息中一些指令的含义如下:
Public:表示响应可以被任何缓存区域缓存。
Private:表示共享缓存无法处理单个用户的全部或部分响应消息。这允许服务器只描述用户响应消息的一部分,这对于其他用户的请求是无效的。
no-cache:表示不能缓存请求或响应消息
no-store:用于防止重要信息被无意泄露。发送请求消息不会导致请求和响应消息都使用缓存。
max-age:表示客户端可以收到生命周期不大于指定时间(以秒为单位)的响应。
min-fresh:表示客户端可以收到响应时间小于当前时间加上指定时间的响应。
max-stale:表示客户端可以接收超过超时时间的响应消息。如果指定了 max-stale 消息的值,则客户端可以在超时时间内收到超过指定值的响应消息。
注意:HTTP1.1中增加了Cache-Control头,相比其他方法可以实现更细致的缓存控制。
header('Cache-Control: max-age=3600*24');//缓存1天,表示最大生存期是1天,超过1天浏览器必须去服务器重新读取,这个时间是从用户第一次读取页面时开始计时的
二、php 禁止浏览器使用缓存页面
可以通过PHP的header()函数发送特定的缓存控制原创HTTP头来实现。具体代码如下: 查看全部
php禁止网页抓取(禁用浏览器缓存的方法和方法缓存详解!!
)
一般情况下,我们想查看互联网上的网页。当您第一次访问该网页时,系统会首先将该网页下载到您本地计算机上的一个临时文件夹中进行缓存。一段时间后,当您第二次或第三次访问该网页时,浏览器会直接从您本地计算机的临时文件夹中读取该文件。这样做的好处是避免每次都重新下载,占用大量资金。时间和网络资源,不得不说页面缓存加快了网页的显示速度。当然,它也有它的缺点。例如,当服务器上的网页已经更新,而本地显示的网页还没有更新时,无法及时显示更新。内容之后,在某些情况下,我们需要禁止浏览器缓存,
一、对于静态页面(由元标记设置):
或者通过pragma no-cache设置,pragma出现在http-equiv属性中,content属性的no-cache值用来表示是否缓存网页(为了提高速度,有些浏览器会缓存浏览器浏览的页面,通过下面的定义,浏览器一般不缓存页面,浏览器不能离线浏览)。
Cache-Control:缓存控制,指定了请求和响应所遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control 不会修改另一个消息处理过程中的缓存处理过程。请求中的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached等。响应消息中的指令包括public、private、no-cache、和 no-store , No-transform, must-revalidate, proxy-revalidate, max-age。每条消息中一些指令的含义如下:
Public:表示响应可以被任何缓存区域缓存。
Private:表示共享缓存无法处理单个用户的全部或部分响应消息。这允许服务器只描述用户响应消息的一部分,这对于其他用户的请求是无效的。
no-cache:表示不能缓存请求或响应消息
no-store:用于防止重要信息被无意泄露。发送请求消息不会导致请求和响应消息都使用缓存。
max-age:表示客户端可以收到生命周期不大于指定时间(以秒为单位)的响应。
min-fresh:表示客户端可以收到响应时间小于当前时间加上指定时间的响应。
max-stale:表示客户端可以接收超过超时时间的响应消息。如果指定了 max-stale 消息的值,则客户端可以在超时时间内收到超过指定值的响应消息。
注意:HTTP1.1中增加了Cache-Control头,相比其他方法可以实现更细致的缓存控制。
header('Cache-Control: max-age=3600*24');//缓存1天,表示最大生存期是1天,超过1天浏览器必须去服务器重新读取,这个时间是从用户第一次读取页面时开始计时的
二、php 禁止浏览器使用缓存页面
可以通过PHP的header()函数发送特定的缓存控制原创HTTP头来实现。具体代码如下:
php禁止网页抓取(我负责的一个网站流量突然下降至5分之一的流量)
网站优化 • 优采云 发表了文章 • 0 个评论 • 55 次浏览 • 2021-11-07 14:11
一月中旬,我负责的网站的流量,网站突然掉到了流量的五分之一。于是查了一下百度收录的金额。发现网站网站收录页数有9000多页,之前是13万多页。难怪流量下降这么明显。这个网站是一个论坛,7月份静态处理的。上线后不久,网站收录就正常了,没有大面积减少的迹象。由于网站的任务繁重,每天观察数据,没有明显的流量下降迹象。
它仅在 1 月中旬显着下降。通过观察收录的页面,发现百度只有收录有网站的8080端口页面,而且几乎只有收录有动态地址,几乎没有静态地址。收录。谷歌搜索了收录的金额,结果是0.
这令人困惑。我从来没有遇到过这样的问题。当时ZAC正在PHPWIND线上面试,所以我问了他这个问题。他当时的回答并没有解决我的问题。也许这个问题在其他地方很少发生。经过一一排查问题,很快,我终于找到了问题所在。原来,8月份,该技术修改了robots.txt文件。当时的语法是这样的:
#
#robots.txtforDiscuz!Board
#版本6.0.0
#
用户代理:*
不允许:/
禁止:/管理员/
禁止:/api/
禁止:/附件/
禁止:/自定义头像/
禁止:/图像/
禁止:/论坛数据/
禁止:/包括/
禁止:/ipdata/
禁止:/模板/
禁止:/插件/
禁止:/mspace/
禁止:/wap/
禁止:/admincp.php
禁止:/ajax.php
禁止:/digest.php
禁止:/logging.php
禁止:/member.php
禁止:/memcp.php
禁止:/misc.php
禁止:/my.php
禁止:/pm.php
禁止:/post.php
禁止:/register.php
禁止:/rss.php
禁止:/search.php
禁止:/seccode.php
禁止:/topicadmin.php
禁止:/space.php
不知道大家有没有发现上面的语法错误,其实错误已经很明显了。第一句错了。不应该被禁止:/
相反,允许:/或只是不写这句话,只需删除这句话。不要小看这三个额外的字母,而要让搜索引擎的蜘蛛停止抓取您的网页。网站收录 变化量开始缓慢下降,直到从搜索引擎数据库中删除。比如谷歌几乎相当于删除了这个网站页面。让百度蜘蛛误认为只有8080端口的页面才允许爬取。事实上,8080端口是无法访问的。为了尽量减少损失,我要求技术立即恢复对8080端口的访问。几天后,流量增加,网站收录的数量恢复到20000多,但它远不是130,000。谷歌收录也有2万多,收录很正常。然而,百度依然只有8080端口,偶尔会出现收录下的默认端口,动态占多数,静态占少数。根据论坛管理员后台数据,网站的整体流量下降了近3%2.
问题还在处理中,希望能尽快恢复交通。总结:作为SEO,一定要定期查看网站的robots.txt,建议每月一次,对技术人员进行SEO相关培训。让技术人员了解基本的SEO知识。最好为技术部门制定SEO规范。让大家有个参考。 查看全部
php禁止网页抓取(我负责的一个网站流量突然下降至5分之一的流量)
一月中旬,我负责的网站的流量,网站突然掉到了流量的五分之一。于是查了一下百度收录的金额。发现网站网站收录页数有9000多页,之前是13万多页。难怪流量下降这么明显。这个网站是一个论坛,7月份静态处理的。上线后不久,网站收录就正常了,没有大面积减少的迹象。由于网站的任务繁重,每天观察数据,没有明显的流量下降迹象。
它仅在 1 月中旬显着下降。通过观察收录的页面,发现百度只有收录有网站的8080端口页面,而且几乎只有收录有动态地址,几乎没有静态地址。收录。谷歌搜索了收录的金额,结果是0.
这令人困惑。我从来没有遇到过这样的问题。当时ZAC正在PHPWIND线上面试,所以我问了他这个问题。他当时的回答并没有解决我的问题。也许这个问题在其他地方很少发生。经过一一排查问题,很快,我终于找到了问题所在。原来,8月份,该技术修改了robots.txt文件。当时的语法是这样的:
#
#robots.txtforDiscuz!Board
#版本6.0.0
#
用户代理:*
不允许:/
禁止:/管理员/
禁止:/api/
禁止:/附件/
禁止:/自定义头像/
禁止:/图像/
禁止:/论坛数据/
禁止:/包括/
禁止:/ipdata/
禁止:/模板/
禁止:/插件/
禁止:/mspace/
禁止:/wap/
禁止:/admincp.php
禁止:/ajax.php
禁止:/digest.php
禁止:/logging.php
禁止:/member.php
禁止:/memcp.php
禁止:/misc.php
禁止:/my.php
禁止:/pm.php
禁止:/post.php
禁止:/register.php
禁止:/rss.php
禁止:/search.php
禁止:/seccode.php
禁止:/topicadmin.php
禁止:/space.php
不知道大家有没有发现上面的语法错误,其实错误已经很明显了。第一句错了。不应该被禁止:/
相反,允许:/或只是不写这句话,只需删除这句话。不要小看这三个额外的字母,而要让搜索引擎的蜘蛛停止抓取您的网页。网站收录 变化量开始缓慢下降,直到从搜索引擎数据库中删除。比如谷歌几乎相当于删除了这个网站页面。让百度蜘蛛误认为只有8080端口的页面才允许爬取。事实上,8080端口是无法访问的。为了尽量减少损失,我要求技术立即恢复对8080端口的访问。几天后,流量增加,网站收录的数量恢复到20000多,但它远不是130,000。谷歌收录也有2万多,收录很正常。然而,百度依然只有8080端口,偶尔会出现收录下的默认端口,动态占多数,静态占少数。根据论坛管理员后台数据,网站的整体流量下降了近3%2.
问题还在处理中,希望能尽快恢复交通。总结:作为SEO,一定要定期查看网站的robots.txt,建议每月一次,对技术人员进行SEO相关培训。让技术人员了解基本的SEO知识。最好为技术部门制定SEO规范。让大家有个参考。
php禁止网页抓取( 网页爬取编写网页需要使用的HTML语言(lxml)和解析)
网站优化 • 优采云 发表了文章 • 0 个评论 • 68 次浏览 • 2021-11-06 19:22
网页爬取编写网页需要使用的HTML语言(lxml)和解析)
网页抓取
您需要使用 HTML 语言来编写网页。如果你有HTML学习经验,就会知道所谓的HTML语言就是一种标准化的文档。有时我们可以很容易地从中获取一些需要的数据,并保留数据的原创格式,如csv、json等格式。但有时网站 并没有提供明确的数据格式。
所以我们需要爬网。网页抓取就是通过电脑程序编写,从不同的网页中进行删除和选择,挖掘出自己需要的数据,并以相应的格式保存数据。
网页请求(Requests)和解析(lxml)
lxml 模块是一个第三方包,可以快速高效地解析 XML 和 HTML 文档,甚至可以在解析网页的过程中处理一些错误使用的标签(标签)。其次,由于Python相关库数量多,更新速度快,对于原有的urllib2模块(python3版本不再支持urllib2,而是使用urllib),我们将使用可读性和性能更好的Requests模块反而。您可以通过以下命令轻松安装 pipinstalllxml 和 pipinstallrequests 这两个模块。
导入这些模块以开始编码之旅:
from lxml import html
import requests
接下来,我们使用 requests.get 请求一个收录我们的数据(例如 URL)的网页,然后使用 html 模块对其进行解析并将其保存在树中。
page = requests.get('http://econpy.pythonanywhere.com/ex/001.html')
tree = html.fromstring(page.content)
(这里我们需要使用 page.content 而不是 page.text,因为使用 html.fromstring 意味着只接受字节格式的数据。)
tree 现在以简洁明了的树结构保存整个 HTML 文档,以便我们可以通过两种不同的方式对其进行解析:XPath 和 CSS。在这个例子中,我们将专注于前者。
XPath 是一种在结构化文档(如 HTML 和 XML)中定位信息的方法。您可以在 W3Schools 上了解有关 XPath 的更多信息。
有很多工具可以帮助获取XPath的元素,比如Firefox的FireBug(译者注:新版浏览器没有这个插件,只是查看元素)和谷歌Chrome的Chrome Inspector。如果您使用谷歌浏览器,您可以右键单击要获取的元素,选择检查元素,再次右键单击突出显示的代码,然后选择复制 XPath。
经过简短的分析,我们可以发现我们在网页中寻找的数据收录在两个元素中——一个是title属性为buyer-name的div标签,一个是class属性的span标签商品价格:
Carson Busses
$29.95
知道了这些之后,我们就可以使用XPath进行正确查询了,使用lxml模块的xpath函数,代码如下:
#创建 buyers 的列表:
buyers = tree.xpath('//div[@title="buyer-name"]/text()')
#创建 prices 的列表
prices = tree.xpath('//span[@class="item-price"]/text()')
让我们打印出来看看我们得到了什么:
print 'Buyers: ', buyers
print 'Prices: ', prices
Buyers: ['Carson Busses', 'Earl E. Byrd', 'Patty Cakes',
'Derri Anne Connecticut', 'Moe Dess', 'Leda Doggslife', 'Dan Druff',
'Al Fresco', 'Ido Hoe', 'Howie Kisses', 'Len Lease', 'Phil Meup',
'Ira Pent', 'Ben D. Rules', 'Ave Sectomy', 'Gary Shattire',
'Bobbi Soks', 'Sheila Takya', 'Rose Tattoo', 'Moe Tell']
Prices: ['$29.95', '$8.37', '$15.26', '$19.25', '$19.25',
'$13.99', '$31.57', '$8.49', '$14.47', '$15.86', '$11.11',
'$15.98', '$16.27', '$7.50', '$50.85', '$14.26', '$5.68',
'$15.00', '$114.07', '$10.09']
伟大的!我们已经成功地使用 lxml 和 Requests 模块从网页中抓取我们想要的数据并将它们存储在列表中。现在我们可以用这些数据做一些很酷的事情,比如用 Python 来分析它们,或者将它们保存在文件中并在互联网上共享。
你也可以考虑一些更酷的想法,比如如何写一个脚本来抓取其他页面上类似的数据集,或者尝试使用多线程重写这段代码以提高运行速度。
如果您想学习如何使用 Python 导入数据,这里的 DataCamp 导入数据课程是一个好的开始
此 文章 首次发布于 网站。
本翻译仅供学习交流之用,转载请务必注明译者、出处及本文链接
我们的翻译工作符合 CC 协议。如果我们的工作侵犯了您的权益,请及时与我们联系。 查看全部
php禁止网页抓取(
网页爬取编写网页需要使用的HTML语言(lxml)和解析)

网页抓取
您需要使用 HTML 语言来编写网页。如果你有HTML学习经验,就会知道所谓的HTML语言就是一种标准化的文档。有时我们可以很容易地从中获取一些需要的数据,并保留数据的原创格式,如csv、json等格式。但有时网站 并没有提供明确的数据格式。
所以我们需要爬网。网页抓取就是通过电脑程序编写,从不同的网页中进行删除和选择,挖掘出自己需要的数据,并以相应的格式保存数据。
网页请求(Requests)和解析(lxml)
lxml 模块是一个第三方包,可以快速高效地解析 XML 和 HTML 文档,甚至可以在解析网页的过程中处理一些错误使用的标签(标签)。其次,由于Python相关库数量多,更新速度快,对于原有的urllib2模块(python3版本不再支持urllib2,而是使用urllib),我们将使用可读性和性能更好的Requests模块反而。您可以通过以下命令轻松安装 pipinstalllxml 和 pipinstallrequests 这两个模块。
导入这些模块以开始编码之旅:
from lxml import html
import requests
接下来,我们使用 requests.get 请求一个收录我们的数据(例如 URL)的网页,然后使用 html 模块对其进行解析并将其保存在树中。
page = requests.get('http://econpy.pythonanywhere.com/ex/001.html')
tree = html.fromstring(page.content)
(这里我们需要使用 page.content 而不是 page.text,因为使用 html.fromstring 意味着只接受字节格式的数据。)
tree 现在以简洁明了的树结构保存整个 HTML 文档,以便我们可以通过两种不同的方式对其进行解析:XPath 和 CSS。在这个例子中,我们将专注于前者。
XPath 是一种在结构化文档(如 HTML 和 XML)中定位信息的方法。您可以在 W3Schools 上了解有关 XPath 的更多信息。
有很多工具可以帮助获取XPath的元素,比如Firefox的FireBug(译者注:新版浏览器没有这个插件,只是查看元素)和谷歌Chrome的Chrome Inspector。如果您使用谷歌浏览器,您可以右键单击要获取的元素,选择检查元素,再次右键单击突出显示的代码,然后选择复制 XPath。
经过简短的分析,我们可以发现我们在网页中寻找的数据收录在两个元素中——一个是title属性为buyer-name的div标签,一个是class属性的span标签商品价格:
Carson Busses
$29.95
知道了这些之后,我们就可以使用XPath进行正确查询了,使用lxml模块的xpath函数,代码如下:
#创建 buyers 的列表:
buyers = tree.xpath('//div[@title="buyer-name"]/text()')
#创建 prices 的列表
prices = tree.xpath('//span[@class="item-price"]/text()')
让我们打印出来看看我们得到了什么:
print 'Buyers: ', buyers
print 'Prices: ', prices
Buyers: ['Carson Busses', 'Earl E. Byrd', 'Patty Cakes',
'Derri Anne Connecticut', 'Moe Dess', 'Leda Doggslife', 'Dan Druff',
'Al Fresco', 'Ido Hoe', 'Howie Kisses', 'Len Lease', 'Phil Meup',
'Ira Pent', 'Ben D. Rules', 'Ave Sectomy', 'Gary Shattire',
'Bobbi Soks', 'Sheila Takya', 'Rose Tattoo', 'Moe Tell']
Prices: ['$29.95', '$8.37', '$15.26', '$19.25', '$19.25',
'$13.99', '$31.57', '$8.49', '$14.47', '$15.86', '$11.11',
'$15.98', '$16.27', '$7.50', '$50.85', '$14.26', '$5.68',
'$15.00', '$114.07', '$10.09']
伟大的!我们已经成功地使用 lxml 和 Requests 模块从网页中抓取我们想要的数据并将它们存储在列表中。现在我们可以用这些数据做一些很酷的事情,比如用 Python 来分析它们,或者将它们保存在文件中并在互联网上共享。
你也可以考虑一些更酷的想法,比如如何写一个脚本来抓取其他页面上类似的数据集,或者尝试使用多线程重写这段代码以提高运行速度。
如果您想学习如何使用 Python 导入数据,这里的 DataCamp 导入数据课程是一个好的开始
此 文章 首次发布于 网站。
本翻译仅供学习交流之用,转载请务必注明译者、出处及本文链接
我们的翻译工作符合 CC 协议。如果我们的工作侵犯了您的权益,请及时与我们联系。
php禁止网页抓取(关于robots.txt文件的写法和规范还是有必要普及一下)
网站优化 • 优采云 发表了文章 • 0 个评论 • 65 次浏览 • 2021-11-05 20:02
搜索引擎和任何 网站 之间的链接是 robots.txt 文件。所有搜索引擎都允许 收录 和禁止 收录 遵循相同的协议。robots.txt 文件的编写是否符合规范仍需普及。
1. 什么是robots.txt?
robots.txt 是网站 与搜索引擎之间协议的纯文本文件。当搜索引擎蜘蛛访问一个站点时,它首先会爬行检查站点根目录中是否存在robots.txt。
如果存在,则根据文件内容确定访问范围。如果没有,蜘蛛将沿着链接爬行。Robots.txt 放在项目的根目录下。默认情况下,如果没有robots.txt文件,搜索引擎会认为你的网站的任何页面都允许被抓取和抓取。
2. robots.txt 语法
1) 允许所有搜索引擎访问网站的所有部分
Robots.txt 的写法如下:
User-agent:* ##User-agent 代表一个搜索引擎,这一行代表所有搜索引擎
Disallow: * #disallow 表示不允许,此行表示全部不允许
或者
用户代理:*
Allow:/ #这里的allow表示允许,这一行表示全部允许
复制代码
注意:星号“*”表示“全部”,井号“#”表示“注释”,斜线“/”表示目录。
注意:1.第一个英文要大写。当冒号是英文时,冒号后面有一个空格。这几点不能错。
2) 阻止所有搜索引擎访问 网站 的所有部分
Robots.txt 的写法如下:
用户代理:*
不允许:/
复制代码
也可以写如下,效果和上面一样:
用户代理:*
不允许: *
复制代码
上面代码的意思是:禁止任何搜索引擎收录任何页面。
3) 只需要禁止蜘蛛访问某个目录,比如禁止admin、css、images等目录被索引
Robots.txt 的写法如下:
User-agent:* #所有搜索引擎
Disallow:/css/ #禁止收录css目录下的所有文件
Disallow:/admin/ #禁止收录admin目录下的任何文件
Disallow:/images/ #禁止收录images目录下的任何文件
复制代码
4) 阻止文件夹 /templets,但可以抓取文件夹 /templets/main/ 之一:
Robots.txt 的写法如下:
用户代理: *
Disallow:/templets #禁止抓取根目录下的模板文件(或文件夹)
Allow:/templets/main/ #允许抓取根目录下模板文件夹中main文件夹的所有内容
复制代码
5)禁止访问/html/目录(包括子目录)中所有后缀为“.php”的URL
Robots.txt 的写法如下:
用户代理:*
Disallow:/html/*.php #禁止收录根目录下html文件夹中所有以“.php”结尾的文件
复制代码
6) 只允许访问某个目录下带有某个后缀的文件,使用“$”,“$”代表具体的文件名(文件格式)。
Robots.txt 的写法如下:
用户代理:*
Allow:.html$ #只允许访问和抓取以“.html”结尾的文件
Disallow:/ #禁止访问所有文件
复制代码
注意:disallow 和allow 命令可以同时使用。搜索引擎将首先查找 disallow 命令。如果纯粹是disallow命令,则按照协议放弃爬取;然后搜索引擎会继续查找是否存在“允许”命令,如果存在则执行。抓取,所以allow命令是disallow命令的补充,应该灵活使用。不允许和允许没有先后顺序,前面的任何人都可以做到。
7)禁止索引网站中的所有动态页面。例如,带有“?”的域名 这里限制了,比如index.php?id=1,robots.txt写成如下:
User-agent:* #User-agent 代表搜索引擎
Disallow:*?* #Disallow 收录 带有问号“?”的 URL
复制代码
8) 禁止搜索引擎抓取我们网站上的所有图片(如果您的网站使用了其他后缀图片名称,您可以在此处直接添加)。有时候,我们想节省Server资源,就需要禁止各种搜索引擎索引我们网站上的图片。除了使用“Disallow:/images/”直接屏蔽文件夹外,还可以直接屏蔽图片。格式。Robots.txt 的写法如下:
用户代理: *
Disallow:.jpg$ #禁止抓取jpg格式的文件,下同
禁止:.jpeg$
禁止:.gif$
禁止:.png$
禁止:.bmp$
复制代码
9)指定特定的搜索引擎:
用户代理:百度蜘蛛
允许:*.html$
不允许: /
复制代码
上面命令的意思是:对于百度搜索引擎,允许百度蜘蛛索引抓取所有以“.html”结尾的文件夹。其他搜索引擎不受限制。如果不写,则表示不受限制。
User-agent 是搜索引擎的名称,通常用星号“*”表示一切。要指定搜索引擎,您需要知道搜索引擎蜘蛛的名称。可以使用百度或者查看搜索引擎的描述,百度的蜘蛛名字是“Baiduspider”,谷歌的蜘蛛名字是“googlebot”。
百度产品使用不同的用户代理:
产品名称对应用户代理
无线搜索百度蜘蛛
图片搜索 百度蜘蛛-image
视频搜索 百度蜘蛛-视频
新闻搜索 百度蜘蛛-新闻
百度采集 百度蜘蛛-最爱
百度联盟Baiduspider-cpro
商业搜索Baiduspider-ads
网络和其他搜索百度蜘蛛
网页编码方式
在网页代码之间添加代码。此标签禁止搜索引擎抓取 网站 并显示网页快照。
网页代码之间加//表示禁止百度搜索引擎抓取网站并显示网页快照。
在网页代码之间,添加意味着禁止谷歌搜索引擎抓取网站并显示网页快照。
另外,当我们的需求很奇怪的时候,比如以下几种情况:
1. 网站 添加了Robots.txt,百度可以搜索到吗?
因为搜索引擎索引数据库的更新需要时间。虽然百度蜘蛛已经停止访问您在网站上的网页,但清除百度搜索引擎数据库中已建立网页的索引信息可能需要几个月的时间。另请检查您的机器人是否配置正确。如果收录急需您的拒绝,您也可以通过投诉平台反馈请求处理。
2.希望网站的内容被百度收录,但快照不会被保存。我该怎么办?
百度蜘蛛符合互联网元机器人协议。您可以使用网页元设置使百度显示仅索引网页,而不在搜索结果中显示网页的快照。和robots的更新一样,更新搜索引擎索引库也是需要时间的,所以虽然你在网页中通过meta禁用了百度在搜索结果中显示页面的快照,但是如果网页索引已经在百度搜索引擎数据库信息,可能需要两到四个星期才能在线生效。
想被百度收录,但不保存网站快照,以下代码解决:
将上述代码放在网页之间的任何位置。
如果你想禁止所有搜索引擎保存你网页的快照,那么代码如下:
一些常用的代码组合:
:您可以抓取此页面,并且可以继续索引此页面上的其他链接
:不抓取此页面,但您可以抓取此页面上的其他链接并将其编入索引
:您可以抓取此页面,但不允许抓取此页面上的其他链接并将其编入索引
: 不抓取此页面,也不沿此页面抓取以索引其他链接 查看全部
php禁止网页抓取(关于robots.txt文件的写法和规范还是有必要普及一下)
搜索引擎和任何 网站 之间的链接是 robots.txt 文件。所有搜索引擎都允许 收录 和禁止 收录 遵循相同的协议。robots.txt 文件的编写是否符合规范仍需普及。
1. 什么是robots.txt?
robots.txt 是网站 与搜索引擎之间协议的纯文本文件。当搜索引擎蜘蛛访问一个站点时,它首先会爬行检查站点根目录中是否存在robots.txt。
如果存在,则根据文件内容确定访问范围。如果没有,蜘蛛将沿着链接爬行。Robots.txt 放在项目的根目录下。默认情况下,如果没有robots.txt文件,搜索引擎会认为你的网站的任何页面都允许被抓取和抓取。
2. robots.txt 语法
1) 允许所有搜索引擎访问网站的所有部分
Robots.txt 的写法如下:
User-agent:* ##User-agent 代表一个搜索引擎,这一行代表所有搜索引擎
Disallow: * #disallow 表示不允许,此行表示全部不允许
或者
用户代理:*
Allow:/ #这里的allow表示允许,这一行表示全部允许
复制代码
注意:星号“*”表示“全部”,井号“#”表示“注释”,斜线“/”表示目录。
注意:1.第一个英文要大写。当冒号是英文时,冒号后面有一个空格。这几点不能错。
2) 阻止所有搜索引擎访问 网站 的所有部分
Robots.txt 的写法如下:
用户代理:*
不允许:/
复制代码
也可以写如下,效果和上面一样:
用户代理:*
不允许: *
复制代码
上面代码的意思是:禁止任何搜索引擎收录任何页面。
3) 只需要禁止蜘蛛访问某个目录,比如禁止admin、css、images等目录被索引
Robots.txt 的写法如下:
User-agent:* #所有搜索引擎
Disallow:/css/ #禁止收录css目录下的所有文件
Disallow:/admin/ #禁止收录admin目录下的任何文件
Disallow:/images/ #禁止收录images目录下的任何文件
复制代码
4) 阻止文件夹 /templets,但可以抓取文件夹 /templets/main/ 之一:
Robots.txt 的写法如下:
用户代理: *
Disallow:/templets #禁止抓取根目录下的模板文件(或文件夹)
Allow:/templets/main/ #允许抓取根目录下模板文件夹中main文件夹的所有内容
复制代码
5)禁止访问/html/目录(包括子目录)中所有后缀为“.php”的URL
Robots.txt 的写法如下:
用户代理:*
Disallow:/html/*.php #禁止收录根目录下html文件夹中所有以“.php”结尾的文件
复制代码
6) 只允许访问某个目录下带有某个后缀的文件,使用“$”,“$”代表具体的文件名(文件格式)。
Robots.txt 的写法如下:
用户代理:*
Allow:.html$ #只允许访问和抓取以“.html”结尾的文件
Disallow:/ #禁止访问所有文件
复制代码
注意:disallow 和allow 命令可以同时使用。搜索引擎将首先查找 disallow 命令。如果纯粹是disallow命令,则按照协议放弃爬取;然后搜索引擎会继续查找是否存在“允许”命令,如果存在则执行。抓取,所以allow命令是disallow命令的补充,应该灵活使用。不允许和允许没有先后顺序,前面的任何人都可以做到。
7)禁止索引网站中的所有动态页面。例如,带有“?”的域名 这里限制了,比如index.php?id=1,robots.txt写成如下:
User-agent:* #User-agent 代表搜索引擎
Disallow:*?* #Disallow 收录 带有问号“?”的 URL
复制代码
8) 禁止搜索引擎抓取我们网站上的所有图片(如果您的网站使用了其他后缀图片名称,您可以在此处直接添加)。有时候,我们想节省Server资源,就需要禁止各种搜索引擎索引我们网站上的图片。除了使用“Disallow:/images/”直接屏蔽文件夹外,还可以直接屏蔽图片。格式。Robots.txt 的写法如下:
用户代理: *
Disallow:.jpg$ #禁止抓取jpg格式的文件,下同
禁止:.jpeg$
禁止:.gif$
禁止:.png$
禁止:.bmp$
复制代码
9)指定特定的搜索引擎:
用户代理:百度蜘蛛
允许:*.html$
不允许: /
复制代码
上面命令的意思是:对于百度搜索引擎,允许百度蜘蛛索引抓取所有以“.html”结尾的文件夹。其他搜索引擎不受限制。如果不写,则表示不受限制。
User-agent 是搜索引擎的名称,通常用星号“*”表示一切。要指定搜索引擎,您需要知道搜索引擎蜘蛛的名称。可以使用百度或者查看搜索引擎的描述,百度的蜘蛛名字是“Baiduspider”,谷歌的蜘蛛名字是“googlebot”。
百度产品使用不同的用户代理:
产品名称对应用户代理
无线搜索百度蜘蛛
图片搜索 百度蜘蛛-image
视频搜索 百度蜘蛛-视频
新闻搜索 百度蜘蛛-新闻
百度采集 百度蜘蛛-最爱
百度联盟Baiduspider-cpro
商业搜索Baiduspider-ads
网络和其他搜索百度蜘蛛

网页编码方式
在网页代码之间添加代码。此标签禁止搜索引擎抓取 网站 并显示网页快照。
网页代码之间加//表示禁止百度搜索引擎抓取网站并显示网页快照。
在网页代码之间,添加意味着禁止谷歌搜索引擎抓取网站并显示网页快照。
另外,当我们的需求很奇怪的时候,比如以下几种情况:
1. 网站 添加了Robots.txt,百度可以搜索到吗?
因为搜索引擎索引数据库的更新需要时间。虽然百度蜘蛛已经停止访问您在网站上的网页,但清除百度搜索引擎数据库中已建立网页的索引信息可能需要几个月的时间。另请检查您的机器人是否配置正确。如果收录急需您的拒绝,您也可以通过投诉平台反馈请求处理。
2.希望网站的内容被百度收录,但快照不会被保存。我该怎么办?
百度蜘蛛符合互联网元机器人协议。您可以使用网页元设置使百度显示仅索引网页,而不在搜索结果中显示网页的快照。和robots的更新一样,更新搜索引擎索引库也是需要时间的,所以虽然你在网页中通过meta禁用了百度在搜索结果中显示页面的快照,但是如果网页索引已经在百度搜索引擎数据库信息,可能需要两到四个星期才能在线生效。
想被百度收录,但不保存网站快照,以下代码解决:
将上述代码放在网页之间的任何位置。
如果你想禁止所有搜索引擎保存你网页的快照,那么代码如下:
一些常用的代码组合:
:您可以抓取此页面,并且可以继续索引此页面上的其他链接
:不抓取此页面,但您可以抓取此页面上的其他链接并将其编入索引
:您可以抓取此页面,但不允许抓取此页面上的其他链接并将其编入索引
: 不抓取此页面,也不沿此页面抓取以索引其他链接
php禁止网页抓取(做SEO的站长们是否经常碰到这样的问题?(一))
网站优化 • 优采云 发表了文章 • 0 个评论 • 55 次浏览 • 2021-11-04 14:11
SEO站长经常遇到这样的问题吗?网站设计公司***yi***做好排名或提供优质服务后,无连续接单或连续电话影响,有客户拒付。另一方面,为了保证网站文章的性能,不容易被搜索引擎检索到,还需要一个通用的方法:拦截百度等搜索引擎蜘蛛,谷歌。总结出两种具体方法如下:
一、创建 robots.txt 文本。
robots.txt 文本文件应同时收录两个域,“User-agent:”和“Disallow:”,每条指令各占一行。
1.用户代理:
指定允许爬取的蜘蛛。如果给定参数,则只能抓取指定的蜘蛛;如果值为通配符“*”,则表示允许所有蜘蛛爬行。喜欢:
User-agent:Googlebot*,表示只允许谷歌蜘蛛抓取;
User-agent: *,表示允许所有蜘蛛爬行。
注意:User-agent 必须出现在行中(有意义的行,注释除外)以首先声明用户代理。
2.禁止:
指定不允许蜘蛛爬取的目录或文件,如:
Disallow:/help.php,表示禁止抓取根目录下的help.php文件;
Disallow:/admin/,表示禁止抓取根目录下admin子目录中的任何内容;
Disallow:该值为空时,表示没有限制,蜘蛛可以抓取站点中的任何内容。
Disallow:/,表示禁止蜘蛛爬取根目录下的所有内容。
如果需要指定多个目录或文件,可以使用多个“Disallow: file or directory names”来指定,但每一项必须单独一行。
二、机器人元标签。
robots.txt放在网站,文件级网络蜘蛛授权;而robots Meta标签放置在网页中,用于一些网页需要单独设置的时候,两者的功能是一样的。
Meta robots标签必须放在中间,格式:
content中的值决定了允许爬取的类型,必须同时收录两个值:是否允许索引(index)和是否关注链接(follow,也可以理解为是否允许继续爬行)沿着网页中的超链接)。共有4个参数可选,形成4种组合:
index,follow:允许抓取此页面并允许跟踪链接。
index, nofollow:允许抓取此页面,但禁止跟踪链接。
noindex,follow:禁止抓取本页,但允许跟踪链接。
noindex、nofllow:禁止抓取本页,禁止关注本页链接。 查看全部
php禁止网页抓取(做SEO的站长们是否经常碰到这样的问题?(一))
SEO站长经常遇到这样的问题吗?网站设计公司***yi***做好排名或提供优质服务后,无连续接单或连续电话影响,有客户拒付。另一方面,为了保证网站文章的性能,不容易被搜索引擎检索到,还需要一个通用的方法:拦截百度等搜索引擎蜘蛛,谷歌。总结出两种具体方法如下:
一、创建 robots.txt 文本。
robots.txt 文本文件应同时收录两个域,“User-agent:”和“Disallow:”,每条指令各占一行。
1.用户代理:
指定允许爬取的蜘蛛。如果给定参数,则只能抓取指定的蜘蛛;如果值为通配符“*”,则表示允许所有蜘蛛爬行。喜欢:
User-agent:Googlebot*,表示只允许谷歌蜘蛛抓取;
User-agent: *,表示允许所有蜘蛛爬行。
注意:User-agent 必须出现在行中(有意义的行,注释除外)以首先声明用户代理。
2.禁止:
指定不允许蜘蛛爬取的目录或文件,如:
Disallow:/help.php,表示禁止抓取根目录下的help.php文件;
Disallow:/admin/,表示禁止抓取根目录下admin子目录中的任何内容;
Disallow:该值为空时,表示没有限制,蜘蛛可以抓取站点中的任何内容。
Disallow:/,表示禁止蜘蛛爬取根目录下的所有内容。
如果需要指定多个目录或文件,可以使用多个“Disallow: file or directory names”来指定,但每一项必须单独一行。
二、机器人元标签。
robots.txt放在网站,文件级网络蜘蛛授权;而robots Meta标签放置在网页中,用于一些网页需要单独设置的时候,两者的功能是一样的。
Meta robots标签必须放在中间,格式:
content中的值决定了允许爬取的类型,必须同时收录两个值:是否允许索引(index)和是否关注链接(follow,也可以理解为是否允许继续爬行)沿着网页中的超链接)。共有4个参数可选,形成4种组合:
index,follow:允许抓取此页面并允许跟踪链接。
index, nofollow:允许抓取此页面,但禁止跟踪链接。
noindex,follow:禁止抓取本页,但允许跟踪链接。
noindex、nofllow:禁止抓取本页,禁止关注本页链接。
php禁止网页抓取(几种常用的屏蔽抓取蜘蛛规则文件.txt)
网站优化 • 优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2021-11-01 00:28
总的来说,在网站建立和运营之后,总是希望收录的搜索引擎数量越多越好。但这通常是大多数人想要的。有时候,我们还是希望搜索引擎蜘蛛不要访问网站的某些文件夹,当然也有不想要搜索引擎收录的页面。
比如网站刚刚成立,还没有真正投入运营,没有实质性内容的时候;收录页面太多导致网站的权重分散,当权重聚集到一些最重要的页面时;再比如建立镜像网站,主要是利用其他推广方式(这里指SEO以外的推广方式)来操作网站……
搜索引擎收录网站页面需要通过蜘蛛网站进行访问,抓取页面内容。所以,一般情况下,如果要屏蔽搜索引擎,就需要限制和屏蔽蜘蛛的访问和爬取。下面笔者介绍几种常用的拦截蜘蛛爬行的方法。
1.robots.txt 规则文件。(简单总结一下:创建robots.txt文件放在你项目的根目录下(也就是你的网站根目录,80端口访问的html页面目录),然后你访问你的域+ robots.txt 能访问就够了)
大家都知道robots.txt是引导搜索引擎蜘蛛访问这个网站的规则,通常用的比较多。一般的建议是不管网站是否需要屏蔽收录的内容,都在根目录下创建robots.txt文件。
robots.txt 文件的规则非常简单。例如,如果你需要阻止某个搜索引擎的蜘蛛访问所有目录,只需写:
User-agent:Googlebot
Disallow:/
再比如禁止所有蜘蛛访问、抓取某一个目录则:
User-agent:*
Disallow:/admin/
生成robots.tst文件的工具
2.机器人元标签。
如果robots.txt是放置在网站中的规则文件,那么robots Meta就是放置在网页中的标签。两者的实际功能大致相同,只是robots.txt大部分搜索引擎都支持,而后者大部分搜索引擎不支持。另外,相比之下,单独设置某些页面时使用robots Meta。
robots Meta 标签必须存储在“”代码中:
3.服务器配置文件。
该方法是屏蔽蜘蛛最不常用的方法,主要用于屏蔽“不遵守”robots.txt规则的蜘蛛。
方法是分析一段时间的网站日志,找到需要屏蔽的蜘蛛及其ip。然后通过服务器的配置文件进行拦截,从而阻止某个蜘蛛爬取网站。当然,这种方法使用起来并不灵活,例如无法单独阻止蜘蛛对某个文件夹(或网页)的抓取。
视服务器及其系统而定,具体请参考相关设置方法。
除了上面提到的三种拦截蜘蛛的方法,应该还有其他的方法可以达到拦截蜘蛛的目的。欢迎各位专家在闲暇之余补充。
但是就以上三种方式而言,第一种robots.txt规则文件使用的比较广泛。 查看全部
php禁止网页抓取(几种常用的屏蔽抓取蜘蛛规则文件.txt)
总的来说,在网站建立和运营之后,总是希望收录的搜索引擎数量越多越好。但这通常是大多数人想要的。有时候,我们还是希望搜索引擎蜘蛛不要访问网站的某些文件夹,当然也有不想要搜索引擎收录的页面。
比如网站刚刚成立,还没有真正投入运营,没有实质性内容的时候;收录页面太多导致网站的权重分散,当权重聚集到一些最重要的页面时;再比如建立镜像网站,主要是利用其他推广方式(这里指SEO以外的推广方式)来操作网站……
搜索引擎收录网站页面需要通过蜘蛛网站进行访问,抓取页面内容。所以,一般情况下,如果要屏蔽搜索引擎,就需要限制和屏蔽蜘蛛的访问和爬取。下面笔者介绍几种常用的拦截蜘蛛爬行的方法。
1.robots.txt 规则文件。(简单总结一下:创建robots.txt文件放在你项目的根目录下(也就是你的网站根目录,80端口访问的html页面目录),然后你访问你的域+ robots.txt 能访问就够了)
大家都知道robots.txt是引导搜索引擎蜘蛛访问这个网站的规则,通常用的比较多。一般的建议是不管网站是否需要屏蔽收录的内容,都在根目录下创建robots.txt文件。
robots.txt 文件的规则非常简单。例如,如果你需要阻止某个搜索引擎的蜘蛛访问所有目录,只需写:
User-agent:Googlebot
Disallow:/
再比如禁止所有蜘蛛访问、抓取某一个目录则:
User-agent:*
Disallow:/admin/
生成robots.tst文件的工具
2.机器人元标签。
如果robots.txt是放置在网站中的规则文件,那么robots Meta就是放置在网页中的标签。两者的实际功能大致相同,只是robots.txt大部分搜索引擎都支持,而后者大部分搜索引擎不支持。另外,相比之下,单独设置某些页面时使用robots Meta。
robots Meta 标签必须存储在“”代码中:
3.服务器配置文件。
该方法是屏蔽蜘蛛最不常用的方法,主要用于屏蔽“不遵守”robots.txt规则的蜘蛛。
方法是分析一段时间的网站日志,找到需要屏蔽的蜘蛛及其ip。然后通过服务器的配置文件进行拦截,从而阻止某个蜘蛛爬取网站。当然,这种方法使用起来并不灵活,例如无法单独阻止蜘蛛对某个文件夹(或网页)的抓取。
视服务器及其系统而定,具体请参考相关设置方法。
除了上面提到的三种拦截蜘蛛的方法,应该还有其他的方法可以达到拦截蜘蛛的目的。欢迎各位专家在闲暇之余补充。
但是就以上三种方式而言,第一种robots.txt规则文件使用的比较广泛。
php禁止网页抓取(几种方法教你如何防止自己的网站被别人iframe走了)
网站优化 • 优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-10-29 18:00
辛苦网站被别人用来给你的iframe套上马甲,成了他的页面内容。你怎么认为?会因为自己的页面生气骂iframe的人是不道德的!这里有几个方法教你如何防止自己的网站被别人的iframe删除。
(1)第一种防止页面被iframe的方法,在页面中添加如下JS代码:
查看代码打印
1
(2)第二种禁止页面被iframe的方式,在页面中添加如下JS代码:
查看代码打印
据说这个方案在火狐浏览器下会不断刷新页面。这是因为在 IE 下它是这个窗口,但在 Firefox 下它是空的。所以它会继续运行这段js代码,造成无限循环,导致页面一直刷新。
(3)禁止页面被iframe的第三种方法,在页面中添加如下JS代码:
查看代码打印
另外,如果使用php开发web程序,也可以直接使用php来达到禁止页面被iframe的效果。加入程序代码:
查看代码打印
if($_server['http_host']!='#39;){
exit('iframe我的页面被禁止!囧');
}
asp语言也有自己独特的禁止页面被iframe的实现代码,如下:
查看代码打印
host=Request.ServerVariables("SERVER_NAME")
如果主机""然后
response.redirect ""
如果结束
当然其他编程语言也可以通过获取环境变量来达到防止页面被iframe的效果,这里就不一一举例了。 查看全部
php禁止网页抓取(几种方法教你如何防止自己的网站被别人iframe走了)
辛苦网站被别人用来给你的iframe套上马甲,成了他的页面内容。你怎么认为?会因为自己的页面生气骂iframe的人是不道德的!这里有几个方法教你如何防止自己的网站被别人的iframe删除。
(1)第一种防止页面被iframe的方法,在页面中添加如下JS代码:
查看代码打印
1
(2)第二种禁止页面被iframe的方式,在页面中添加如下JS代码:
查看代码打印
据说这个方案在火狐浏览器下会不断刷新页面。这是因为在 IE 下它是这个窗口,但在 Firefox 下它是空的。所以它会继续运行这段js代码,造成无限循环,导致页面一直刷新。
(3)禁止页面被iframe的第三种方法,在页面中添加如下JS代码:
查看代码打印
另外,如果使用php开发web程序,也可以直接使用php来达到禁止页面被iframe的效果。加入程序代码:
查看代码打印
if($_server['http_host']!='#39;){
exit('iframe我的页面被禁止!囧');
}
asp语言也有自己独特的禁止页面被iframe的实现代码,如下:
查看代码打印
host=Request.ServerVariables("SERVER_NAME")
如果主机""然后
response.redirect ""
如果结束
当然其他编程语言也可以通过获取环境变量来达到防止页面被iframe的效果,这里就不一一举例了。
php禁止网页抓取(由云网时代小编整理提供,云网租用,深圳服务器托管,主机租用)
网站优化 • 优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2021-10-29 17:21
目前,许多程序cms漏洞层出不穷,黑客稍有不慎就导致网站被挂断或被利用。老ASP程序的这些漏洞比较严重,那么问题出在哪里呢?是解决方案吗?接下来小编就和大家分享一下如何禁止宿主机或者网站运行ASP/PHP程序或者动态脚本。
解决这类问题最好的办法当然是修补漏洞,从根本上减少被攻陷的机会,但对于很多初级程序员来说,这并不容易。
推荐使用下面的方法为整个站点生成静态网站,对客户端的影响比较小。当然也可以根据情况使用,比如上传等上传文件夹,这样即使上传了目录,木马也无法运行。
注意:IIS7及以上版本适用,将以下代码保存为web.config文件,保存在网站目录下,需要禁止运行ASP/PHP或动态脚本。如果放在根目录下,整个站点将被禁止运行程序,只能读取静态脚本文件。
-----------------分割线------------------------
------------------分割线---------------------
恢复脚本运行起来也很简单,删除这个文件就行了。
当然要根据自己网站的情况来决定。不要盲目使用。我目前的很多观察 网站 都将涉及 PHP。如果使用整个站点,可能会导致网站 失败。它运行正常,所以如果你使用它,你可以把这个文件放在你不再使用的PHP或asp文件目录中。不建议放在根目录下。
以上信息由云网时代编辑整理提供。云网时代专业提供深圳服务器租赁、深圳服务器托管、深圳主机租赁、宽带租赁等,欢迎联系客服了解详情。 查看全部
php禁止网页抓取(由云网时代小编整理提供,云网租用,深圳服务器托管,主机租用)
目前,许多程序cms漏洞层出不穷,黑客稍有不慎就导致网站被挂断或被利用。老ASP程序的这些漏洞比较严重,那么问题出在哪里呢?是解决方案吗?接下来小编就和大家分享一下如何禁止宿主机或者网站运行ASP/PHP程序或者动态脚本。

解决这类问题最好的办法当然是修补漏洞,从根本上减少被攻陷的机会,但对于很多初级程序员来说,这并不容易。
推荐使用下面的方法为整个站点生成静态网站,对客户端的影响比较小。当然也可以根据情况使用,比如上传等上传文件夹,这样即使上传了目录,木马也无法运行。
注意:IIS7及以上版本适用,将以下代码保存为web.config文件,保存在网站目录下,需要禁止运行ASP/PHP或动态脚本。如果放在根目录下,整个站点将被禁止运行程序,只能读取静态脚本文件。
-----------------分割线------------------------
------------------分割线---------------------
恢复脚本运行起来也很简单,删除这个文件就行了。
当然要根据自己网站的情况来决定。不要盲目使用。我目前的很多观察 网站 都将涉及 PHP。如果使用整个站点,可能会导致网站 失败。它运行正常,所以如果你使用它,你可以把这个文件放在你不再使用的PHP或asp文件目录中。不建议放在根目录下。
以上信息由云网时代编辑整理提供。云网时代专业提供深圳服务器租赁、深圳服务器托管、深圳主机租赁、宽带租赁等,欢迎联系客服了解详情。
php禁止网页抓取(php的curl正常抓取页面程序:如果你抓取到的是302状态)
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2021-10-29 01:06
php的curl正常爬取过程如下:
$url = 'http://www.baidu.com';
$ch = curl_init();
curl_setopt($ch, curlopt_url, $url);
curl_setopt($ch, curlopt_verbose, true);
curl_setopt($ch, curlopt_header, true);
curl_setopt($ch, curlopt_nobody, true);
curl_setopt($ch, curlopt_customrequest, 'get');
curl_setopt($ch, curlopt_returntransfer, true);
curl_setopt($ch, curlopt_timeout, 20);
curl_setopt($ch, curlopt_autoreferer, true);
curl_setopt($ch, curlopt_followlocation, true);
$ret = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
如果抓取到302状态,那是因为在爬取过程中,有些跳转需要给下一个链接传递参数,如果没有收到相应的参数,下一个链接也被设置了,就是非法访问。
显示应该是正常的。
上面是用来抓取函数的,应该几乎没有问题。您可以查看 curlopt_customrequest 相关信息。
使用自定义请求消息而不是“get”或“head”作为 http 请求。这是用于执行“删除”或其他更模糊的 http 请求。有效值为“get”、“post”、“connect”等。换句话说,不要在此处输入整个 http 请求。例如输入“get /index.html http/1.0\r\n\r\n”是错误的。 查看全部
php禁止网页抓取(php的curl正常抓取页面程序:如果你抓取到的是302状态)
php的curl正常爬取过程如下:
$url = 'http://www.baidu.com';
$ch = curl_init();
curl_setopt($ch, curlopt_url, $url);
curl_setopt($ch, curlopt_verbose, true);
curl_setopt($ch, curlopt_header, true);
curl_setopt($ch, curlopt_nobody, true);
curl_setopt($ch, curlopt_customrequest, 'get');
curl_setopt($ch, curlopt_returntransfer, true);
curl_setopt($ch, curlopt_timeout, 20);
curl_setopt($ch, curlopt_autoreferer, true);
curl_setopt($ch, curlopt_followlocation, true);
$ret = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
如果抓取到302状态,那是因为在爬取过程中,有些跳转需要给下一个链接传递参数,如果没有收到相应的参数,下一个链接也被设置了,就是非法访问。
显示应该是正常的。
上面是用来抓取函数的,应该几乎没有问题。您可以查看 curlopt_customrequest 相关信息。
使用自定义请求消息而不是“get”或“head”作为 http 请求。这是用于执行“删除”或其他更模糊的 http 请求。有效值为“get”、“post”、“connect”等。换句话说,不要在此处输入整个 http 请求。例如输入“get /index.html http/1.0\r\n\r\n”是错误的。
php禁止网页抓取(查看网站的robots文件方法:网站为什么要写robots?)
网站优化 • 优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2021-10-23 01:04
robots 协议是网站 和搜索引擎之间的爬虫协议。也是蜘蛛访问的第一个文件网站。它的作用是指导搜索引擎蜘蛛根据文件内容确定访问权限。范围、保护网络安全和隐私,防止数据和敏感信息泄露,确保用户个人信息和隐私不受侵犯。没有robots协议,默认搜索引擎抓取网站的所有页面。
如何查看网站的robots文件:
网站为什么要写机器人?
1、避免资源浪费:屏蔽不需要搜索引擎检索的页面和文件,节省搜索引擎蜘蛛资源。
2、防止敏感信息泄露和网站隐私:主要是防止网站后台程序文件和前台模板文件被抓取。
3、提高搜索引擎友好度:当抓取到更多无用信息时,搜索引擎会认为网站质量低,屏蔽死链接和无用页面,提高搜索引擎友好度
机器人写法
第一行通常是:User-agent:*(User-agent是搜索引擎,*是编程语言中的通配符。“User-agent:*”是所有搜索引擎,包括百度,谷歌,36 0、搜狗...)
Disallow 表示不允许或禁止。这里的定义是禁止蜘蛛爬取(一个文件,一个目录...)
例如:Disallow: /index.php 禁止 网站index.php 文件
allow 表示允许,这里的定义是允许蜘蛛爬行
例如:允许:/index.php允许网站
的index.php
语法规则:
1、大写每一行的开头
2、冒号“:”是英文格式的冒号
3、冒号后面有一个空格
4、空格后面必须有斜杠
示例:禁止:/admin
机器人常用语法和功能:
1、用户代理:*
禁止:/禁止所有搜索引擎访问网站的所有部分。
2、Disallow: /admin/ 不允许抓取 admin 文件夹中的信息
Disallow: /admin 不允许爬取所有带有 admin 的路径
3、Disallow: /*?* 禁止访问 网站
中的所有动态页面
4、Disallow: /.css$ 不允许爬取路径中所有带有“.css”的路径($表示结束,停止)
5、站点地图:
Sitemap:(有点seo优化技巧,原理自己懂...)
6、如果我们不允许蜘蛛爬取admin文件夹的内容,但允许爬取admin文件夹下的某个页面:
禁止:/admin/
允许:/admin/**
机器人语法格式:
1、User-agent: _____ 空格是定义搜索引擎的类型;
2、Crawl-delay: _____ 空格是定义爬行延迟;
3、Disallow:_____ 空格是定义禁止搜索引擎的地址收录;
4、Allow:_____ 空格是定义允许搜索引擎的地址收录;
示例:phpcms内容管理系统的robots.txt文件:
User-agent: * 其中*代表所有类型的搜索引擎,*是通配符
Disallow: /caches/ 禁止抓取缓存目录中的所有文件
Disallow: /phpcms/ 禁止爬取php核心目录下的目录cms
Disallow: /install/ 禁止访问安装包目录下的目录
Disallow: /phpsso_server/ 禁止爬取phpsso_server目录下的目录
Disallow: /api/ 禁止爬取界面目录下的目录
Disallow: /admin.php/ 这里的定义是禁止蜘蛛爬取admin目录下的目录
机器人测试
在百度站长工具中添加网站,使用左侧爬虫的权限测试网站的robots。 查看全部
php禁止网页抓取(查看网站的robots文件方法:网站为什么要写robots?)
robots 协议是网站 和搜索引擎之间的爬虫协议。也是蜘蛛访问的第一个文件网站。它的作用是指导搜索引擎蜘蛛根据文件内容确定访问权限。范围、保护网络安全和隐私,防止数据和敏感信息泄露,确保用户个人信息和隐私不受侵犯。没有robots协议,默认搜索引擎抓取网站的所有页面。

如何查看网站的robots文件:
网站为什么要写机器人?
1、避免资源浪费:屏蔽不需要搜索引擎检索的页面和文件,节省搜索引擎蜘蛛资源。
2、防止敏感信息泄露和网站隐私:主要是防止网站后台程序文件和前台模板文件被抓取。
3、提高搜索引擎友好度:当抓取到更多无用信息时,搜索引擎会认为网站质量低,屏蔽死链接和无用页面,提高搜索引擎友好度
机器人写法
第一行通常是:User-agent:*(User-agent是搜索引擎,*是编程语言中的通配符。“User-agent:*”是所有搜索引擎,包括百度,谷歌,36 0、搜狗...)
Disallow 表示不允许或禁止。这里的定义是禁止蜘蛛爬取(一个文件,一个目录...)
例如:Disallow: /index.php 禁止 网站index.php 文件
allow 表示允许,这里的定义是允许蜘蛛爬行
例如:允许:/index.php允许网站
的index.php
语法规则:
1、大写每一行的开头
2、冒号“:”是英文格式的冒号
3、冒号后面有一个空格
4、空格后面必须有斜杠
示例:禁止:/admin
机器人常用语法和功能:
1、用户代理:*
禁止:/禁止所有搜索引擎访问网站的所有部分。
2、Disallow: /admin/ 不允许抓取 admin 文件夹中的信息
Disallow: /admin 不允许爬取所有带有 admin 的路径
3、Disallow: /*?* 禁止访问 网站
中的所有动态页面
4、Disallow: /.css$ 不允许爬取路径中所有带有“.css”的路径($表示结束,停止)
5、站点地图:
Sitemap:(有点seo优化技巧,原理自己懂...)
6、如果我们不允许蜘蛛爬取admin文件夹的内容,但允许爬取admin文件夹下的某个页面:
禁止:/admin/
允许:/admin/**
机器人语法格式:
1、User-agent: _____ 空格是定义搜索引擎的类型;
2、Crawl-delay: _____ 空格是定义爬行延迟;
3、Disallow:_____ 空格是定义禁止搜索引擎的地址收录;
4、Allow:_____ 空格是定义允许搜索引擎的地址收录;
示例:phpcms内容管理系统的robots.txt文件:
User-agent: * 其中*代表所有类型的搜索引擎,*是通配符
Disallow: /caches/ 禁止抓取缓存目录中的所有文件
Disallow: /phpcms/ 禁止爬取php核心目录下的目录cms
Disallow: /install/ 禁止访问安装包目录下的目录
Disallow: /phpsso_server/ 禁止爬取phpsso_server目录下的目录
Disallow: /api/ 禁止爬取界面目录下的目录
Disallow: /admin.php/ 这里的定义是禁止蜘蛛爬取admin目录下的目录
机器人测试
在百度站长工具中添加网站,使用左侧爬虫的权限测试网站的robots。
php禁止网页抓取(几种方法教你如何防止自己的网站被别人iframe走了)
网站优化 • 优采云 发表了文章 • 0 个评论 • 75 次浏览 • 2021-10-23 01:03
辛苦网站被别人用来给你的iframe套上马甲,成了他的页面内容。你怎么认为?会为了自己的网页生气骂iframe的人是不道德的!这里有几个方法教你如何防止自己的网站被别人的iframe删除。
(1)第一种防止页面被iframe的方法,在页面中添加如下JS代码:
查看代码打印
1
(2)第二种禁止页面被iframe的方式,在页面中添加如下JS代码:
查看代码打印
据说这个方案在火狐浏览器下会不断刷新页面。这是因为在 IE 下它是这个窗口,但在 Firefox 下它是空的。所以它会继续运行这段js代码,造成无限循环,导致页面一直刷新。
(3)禁止页面被iframe的第三种方法,在页面中添加如下JS代码:
查看代码打印
另外,如果使用php开发web程序,也可以直接使用php来达到禁止页面被iframe的效果。加入程序代码:
查看代码打印
if($_server['http_host']!='#39;){
exit('iframe我的页面被禁止!囧');
}
asp语言也有自己独特的禁止页面被iframe的实现代码,如下:
查看代码打印
host=Request.ServerVariables("SERVER_NAME")
如果主机""然后
response.redirect ""
如果结束
当然其他编程语言也可以通过获取环境变量来达到防止页面被iframe的效果,这里就不一一举例了。 查看全部
php禁止网页抓取(几种方法教你如何防止自己的网站被别人iframe走了)
辛苦网站被别人用来给你的iframe套上马甲,成了他的页面内容。你怎么认为?会为了自己的网页生气骂iframe的人是不道德的!这里有几个方法教你如何防止自己的网站被别人的iframe删除。
(1)第一种防止页面被iframe的方法,在页面中添加如下JS代码:
查看代码打印
1
(2)第二种禁止页面被iframe的方式,在页面中添加如下JS代码:
查看代码打印
据说这个方案在火狐浏览器下会不断刷新页面。这是因为在 IE 下它是这个窗口,但在 Firefox 下它是空的。所以它会继续运行这段js代码,造成无限循环,导致页面一直刷新。
(3)禁止页面被iframe的第三种方法,在页面中添加如下JS代码:
查看代码打印
另外,如果使用php开发web程序,也可以直接使用php来达到禁止页面被iframe的效果。加入程序代码:
查看代码打印
if($_server['http_host']!='#39;){
exit('iframe我的页面被禁止!囧');
}
asp语言也有自己独特的禁止页面被iframe的实现代码,如下:
查看代码打印
host=Request.ServerVariables("SERVER_NAME")
如果主机""然后
response.redirect ""
如果结束
当然其他编程语言也可以通过获取环境变量来达到防止页面被iframe的效果,这里就不一一举例了。
php禁止网页抓取(php禁止网页抓取插件,sedphp如何用i来调用)
网站优化 • 优采云 发表了文章 • 0 个评论 • 77 次浏览 • 2021-10-23 01:01
php禁止网页抓取插件,sedphp如何用i来调用正则表达式i=4()forpathnamein$index():if(pathname=='/php/')breaki=4()forpathnamein$index():if(pathname=='/php/')breaki=4()forpathnamein$index():print_r($i)i=4()forpathnamein$index():print_r(pathname)i=4()print_r("#!/newpage($i)")。
正则是web语言重要的语法基础,任何语言的项目,如果没有正则,基本上是不敢迈出第一步的。php也不例外。needanewlanguagewithphp?php(personalhomepage)php正则是有两种用法,一种是原生的boost_libs_cl_string_timer(),另一种是php_header_text_regex(),这里以后者为例讲讲我最近的发现。
先看原生的boost_libs_cl_string_timer(),1.默认情况下,php_header_text_regex()是返回语句行宽度的。2.php_header_text_regex()只给解析器使用,不给正则表达式使用,也就是不会返回文本的位置;如果给正则表达式使用,将返回所有匹配符号的顺序。
我们看下面这个示例,如果要使用boost_libs_cl_string_timer(),必须要先指定返回语句行宽度。$index.php>index.php{error:whitecolorfunction"php_newpage"lackprettylocalfilesize;}$index.php如果想按照语句第一个和第二个连续的字符使用boost_libs_cl_string_timer()返回特定的unicode解析结果,怎么办呢?needanewlanguagewithphp?先看下面这个示例,如果要使用boost_libs_cl_string_timer()返回特定的unicode解析结果,怎么办呢?$index.php>index.php{error:pointlengthfunction"php_newpage"lackprettylocalfilesize;}$index.php$index.php{error:pointlengthfunction"php_newpage"lackprettylocalfilesize;}$index.php由于上述的规则:,会发现boost_libs_cl_string_timer()只支持四个数字。
php_header_text_regex()支持一个方程式解析匹配特定的unicode字符,具体可以见下图:相对于原生的boost_libs_cl_string_timer(),它可以支持更多的数字了。加上语句间的空格,继续看示例。首先看下面这个示例。{error:the"length"booststringtimerlackoffsetprettylocalvalue;}$index.php,$index.php,$index.php{error:the"leng。 查看全部
php禁止网页抓取(php禁止网页抓取插件,sedphp如何用i来调用)
php禁止网页抓取插件,sedphp如何用i来调用正则表达式i=4()forpathnamein$index():if(pathname=='/php/')breaki=4()forpathnamein$index():if(pathname=='/php/')breaki=4()forpathnamein$index():print_r($i)i=4()forpathnamein$index():print_r(pathname)i=4()print_r("#!/newpage($i)")。
正则是web语言重要的语法基础,任何语言的项目,如果没有正则,基本上是不敢迈出第一步的。php也不例外。needanewlanguagewithphp?php(personalhomepage)php正则是有两种用法,一种是原生的boost_libs_cl_string_timer(),另一种是php_header_text_regex(),这里以后者为例讲讲我最近的发现。
先看原生的boost_libs_cl_string_timer(),1.默认情况下,php_header_text_regex()是返回语句行宽度的。2.php_header_text_regex()只给解析器使用,不给正则表达式使用,也就是不会返回文本的位置;如果给正则表达式使用,将返回所有匹配符号的顺序。
我们看下面这个示例,如果要使用boost_libs_cl_string_timer(),必须要先指定返回语句行宽度。$index.php>index.php{error:whitecolorfunction"php_newpage"lackprettylocalfilesize;}$index.php如果想按照语句第一个和第二个连续的字符使用boost_libs_cl_string_timer()返回特定的unicode解析结果,怎么办呢?needanewlanguagewithphp?先看下面这个示例,如果要使用boost_libs_cl_string_timer()返回特定的unicode解析结果,怎么办呢?$index.php>index.php{error:pointlengthfunction"php_newpage"lackprettylocalfilesize;}$index.php$index.php{error:pointlengthfunction"php_newpage"lackprettylocalfilesize;}$index.php由于上述的规则:,会发现boost_libs_cl_string_timer()只支持四个数字。
php_header_text_regex()支持一个方程式解析匹配特定的unicode字符,具体可以见下图:相对于原生的boost_libs_cl_string_timer(),它可以支持更多的数字了。加上语句间的空格,继续看示例。首先看下面这个示例。{error:the"length"booststringtimerlackoffsetprettylocalvalue;}$index.php,$index.php,$index.php{error:the"leng。
php禁止网页抓取(robots禁止搜索引擎抓取php动态网址(图)操作建议)
网站优化 • 优采云 发表了文章 • 0 个评论 • 133 次浏览 • 2021-10-19 08:04
Robots禁止搜索引擎抓取php动态网址
所谓动态网址是指网址包括什么?, & 等字符网址,如news.php?lang=cn&class=1&id=2。我们开启了网站的伪静态后,对于网站的SEO来说,有必要避免搜索引擎爬取我们的动态网址网站。
你为什么要这样做?因为搜索引擎会在爬取同一个页面两次但最终确定同一个页面后触发网站。具体处罚不明确。总之,不利于网站的整个SEO。那么如何防止搜索引擎抓取我们的动态网址网站呢?
这个问题可以通过robots.txt文件解决,具体操作请看下面。
我们知道动态页面有一个共同的特点,就是会有一个“?” 链接中的问号符号,因此我们可以在robots.txt文件中写入以下规则:
User-agent: *
Disallow: /*?*
这将禁止搜索引擎抓取网站 的整个动态链接。另外,如果我们只想让搜索引擎抓取特定类型的文件,比如html格式的静态页面,我们可以在robots.txt中加入如下规则:
User-agent: *
Allow: .html$
Disallow: /
另外,记得把你写的robots.txt文件放在你的网站的根目录下,否则是不行的。此外,还有一个简单的快捷方式来编写规则。登录google网站管理员工具,在里面写规则,生成robots.txt文件即可。 查看全部
php禁止网页抓取(robots禁止搜索引擎抓取php动态网址(图)操作建议)
Robots禁止搜索引擎抓取php动态网址
所谓动态网址是指网址包括什么?, & 等字符网址,如news.php?lang=cn&class=1&id=2。我们开启了网站的伪静态后,对于网站的SEO来说,有必要避免搜索引擎爬取我们的动态网址网站。
你为什么要这样做?因为搜索引擎会在爬取同一个页面两次但最终确定同一个页面后触发网站。具体处罚不明确。总之,不利于网站的整个SEO。那么如何防止搜索引擎抓取我们的动态网址网站呢?
这个问题可以通过robots.txt文件解决,具体操作请看下面。
我们知道动态页面有一个共同的特点,就是会有一个“?” 链接中的问号符号,因此我们可以在robots.txt文件中写入以下规则:
User-agent: *
Disallow: /*?*
这将禁止搜索引擎抓取网站 的整个动态链接。另外,如果我们只想让搜索引擎抓取特定类型的文件,比如html格式的静态页面,我们可以在robots.txt中加入如下规则:
User-agent: *
Allow: .html$
Disallow: /
另外,记得把你写的robots.txt文件放在你的网站的根目录下,否则是不行的。此外,还有一个简单的快捷方式来编写规则。登录google网站管理员工具,在里面写规则,生成robots.txt文件即可。
php禁止网页抓取(有时候用file_get_contents()函数抓取网页会发生乱码现象)
网站优化 • 优采云 发表了文章 • 0 个评论 • 71 次浏览 • 2021-10-16 11:08
有时使用file_get_contents()函数获取网页会导致乱码。出现乱码的原因有两个,一是编码问题,二是目标页面开启了Gzip。
编码问题好处理,把抓到的内容转成编码即可($content=iconv("GBK", "UTF-8//IGNORE", $content);),我们这里讨论的就是Crawl带有 Gzip 的页面打开了。如何判断? Content-Encoding: 获取到的header中的gzip表示内容采用GZIP压缩。用 FireBug 查看它以了解页面上是否启用了 gzip。下面是用firebug查看我博客的header信息,打开Gzip。
请求头信息原始头信息
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Connection keep-alive
Cookie __utma=225240837.787252530.1317310581.1335406161.1335411401.1537; __utmz=225240837.1326850415.887.3.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=%E4%BB%BB%E4%BD%95%E9%A1%B9%E7%9B%AE%E9%83%BD%E4%B8%8D%E4%BC%9A%E9%82%A3%E4%B9%88%E7%AE%80%E5%8D%95%20site%3Awww.bkjia.com; PHPSESSID=888mj4425p8s0m7s0frre3ovc7; __utmc=225240837; __utmb=225240837.1.10.1335411401
Host www.bkjia.com
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0
以下是一些解决方案:
1. 使用内置的 zlib 库
如果服务器已经安装了zlib库,下面的代码可以轻松解决乱码问题。
$data = file_get_contents("compress.zlib://".$url);
2. 使用 CURL 代替 file_get_contents
function curl_get($url, $gzip=false){
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
if($gzip) curl_setopt($curl, CURLOPT_ENCODING, "gzip"); // 关键在这里
$content = curl_exec($curl);
curl_close($curl);
return $content;
}
3.使用gzip解压功能
function gzdecode($data) {
$len = strlen($data);
if ($len < 18 || strcmp(substr($data,0,2),"\x1f\x8b")) {
return null; // Not GZIP format (See RFC 1952)
}
$method = ord(substr($data,2,1)); // Compression method
$flags = ord(substr($data,3,1)); // Flags
if ($flags & 31 != $flags) {
// Reserved bits are set -- NOT ALLOWED by RFC 1952
return null;
}
// NOTE: $mtime may be negative (PHP integer limitations)
$mtime = unpack("V", substr($data,4,4));
$mtime = $mtime[1];
$xfl = substr($data,8,1);
$os = substr($data,8,1);
$headerlen = 10;
$extralen = 0;
$extra = "";
if ($flags & 4) {
// 2-byte length prefixed EXTRA data in header
if ($len - $headerlen - 2 < 8) {
return false; // Invalid format
}
$extralen = unpack("v",substr($data,8,2));
$extralen = $extralen[1];
if ($len - $headerlen - 2 - $extralen < 8) {
return false; // Invalid format
}
$extra = substr($data,10,$extralen);
$headerlen += 2 + $extralen;
}
$filenamelen = 0;
$filename = "";
if ($flags & 8) {
// C-style string file NAME data in header
if ($len - $headerlen - 1 < 8) {
return false; // Invalid format
}
$filenamelen = strpos(substr($data,8+$extralen),chr(0));
if ($filenamelen === false || $len - $headerlen - $filenamelen - 1 < 8) {
return false; // Invalid format
}
$filename = substr($data,$headerlen,$filenamelen);
$headerlen += $filenamelen + 1;
}
$commentlen = 0;
$comment = "";
if ($flags & 16) {
// C-style string COMMENT data in header
if ($len - $headerlen - 1 < 8) {
return false; // Invalid format
}
$commentlen = strpos(substr($data,8+$extralen+$filenamelen),chr(0));
if ($commentlen === false || $len - $headerlen - $commentlen - 1 < 8) {
return false; // Invalid header format
}
$comment = substr($data,$headerlen,$commentlen);
$headerlen += $commentlen + 1;
}
$headercrc = "";
if ($flags & 1) {
// 2-bytes (lowest order) of CRC32 on header present
if ($len - $headerlen - 2 < 8) {
return false; // Invalid format
}
$calccrc = crc32(substr($data,0,$headerlen)) & 0xffff;
$headercrc = unpack("v", substr($data,$headerlen,2));
$headercrc = $headercrc[1];
if ($headercrc != $calccrc) {
return false; // Bad header CRC
}
$headerlen += 2;
}
// GZIP FOOTER - These be negative due to PHP's limitations
$datacrc = unpack("V",substr($data,-8,4));
$datacrc = $datacrc[1];
$isize = unpack("V",substr($data,-4));
$isize = $isize[1];
// Perform the decompression:
$bodylen = $len-$headerlen-8;
if ($bodylen < 1) {
// This should never happen - IMPLEMENTATION BUG!
return null;
}
$body = substr($data,$headerlen,$bodylen);
$data = "";
if ($bodylen > 0) {
switch ($method) {
case 8:
// Currently the only supported compression method:
$data = gzinflate($body);
break;
default:
// Unknown compression method
return false;
}
} else {
// I'm not sure if zero-byte body content is allowed.
// Allow it for now... Do nothing...
}
// Verifiy decompressed size and CRC32:
// NOTE: This may fail with large data sizes depending on how
// PHP's integer limitations affect strlen() since $isize
// may be negative for large sizes.
if ($isize != strlen($data) || crc32($data) != $datacrc) {
// Bad format! Length or CRC doesn't match!
return false;
}
return $data;
}
使用:
$html=file_get_contents('http://www.bkjia.com/librarys/veda/');
$html=gzdecode($html);
介绍这三种方法,应该可以解决大部分gzip导致的爬行乱码问题。
TrueTechArticle 有时会使用 file_get_contents() 函数来抓取网页并出现乱码。出现乱码的原因有两个,一是编码问题,二是目标页面启用了Gzip。很好的编码问题... 查看全部
php禁止网页抓取(有时候用file_get_contents()函数抓取网页会发生乱码现象)
有时使用file_get_contents()函数获取网页会导致乱码。出现乱码的原因有两个,一是编码问题,二是目标页面开启了Gzip。
编码问题好处理,把抓到的内容转成编码即可($content=iconv("GBK", "UTF-8//IGNORE", $content);),我们这里讨论的就是Crawl带有 Gzip 的页面打开了。如何判断? Content-Encoding: 获取到的header中的gzip表示内容采用GZIP压缩。用 FireBug 查看它以了解页面上是否启用了 gzip。下面是用firebug查看我博客的header信息,打开Gzip。
请求头信息原始头信息
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Connection keep-alive
Cookie __utma=225240837.787252530.1317310581.1335406161.1335411401.1537; __utmz=225240837.1326850415.887.3.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=%E4%BB%BB%E4%BD%95%E9%A1%B9%E7%9B%AE%E9%83%BD%E4%B8%8D%E4%BC%9A%E9%82%A3%E4%B9%88%E7%AE%80%E5%8D%95%20site%3Awww.bkjia.com; PHPSESSID=888mj4425p8s0m7s0frre3ovc7; __utmc=225240837; __utmb=225240837.1.10.1335411401
Host www.bkjia.com
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0
以下是一些解决方案:
1. 使用内置的 zlib 库
如果服务器已经安装了zlib库,下面的代码可以轻松解决乱码问题。
$data = file_get_contents("compress.zlib://".$url);
2. 使用 CURL 代替 file_get_contents
function curl_get($url, $gzip=false){
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
if($gzip) curl_setopt($curl, CURLOPT_ENCODING, "gzip"); // 关键在这里
$content = curl_exec($curl);
curl_close($curl);
return $content;
}
3.使用gzip解压功能
function gzdecode($data) {
$len = strlen($data);
if ($len < 18 || strcmp(substr($data,0,2),"\x1f\x8b")) {
return null; // Not GZIP format (See RFC 1952)
}
$method = ord(substr($data,2,1)); // Compression method
$flags = ord(substr($data,3,1)); // Flags
if ($flags & 31 != $flags) {
// Reserved bits are set -- NOT ALLOWED by RFC 1952
return null;
}
// NOTE: $mtime may be negative (PHP integer limitations)
$mtime = unpack("V", substr($data,4,4));
$mtime = $mtime[1];
$xfl = substr($data,8,1);
$os = substr($data,8,1);
$headerlen = 10;
$extralen = 0;
$extra = "";
if ($flags & 4) {
// 2-byte length prefixed EXTRA data in header
if ($len - $headerlen - 2 < 8) {
return false; // Invalid format
}
$extralen = unpack("v",substr($data,8,2));
$extralen = $extralen[1];
if ($len - $headerlen - 2 - $extralen < 8) {
return false; // Invalid format
}
$extra = substr($data,10,$extralen);
$headerlen += 2 + $extralen;
}
$filenamelen = 0;
$filename = "";
if ($flags & 8) {
// C-style string file NAME data in header
if ($len - $headerlen - 1 < 8) {
return false; // Invalid format
}
$filenamelen = strpos(substr($data,8+$extralen),chr(0));
if ($filenamelen === false || $len - $headerlen - $filenamelen - 1 < 8) {
return false; // Invalid format
}
$filename = substr($data,$headerlen,$filenamelen);
$headerlen += $filenamelen + 1;
}
$commentlen = 0;
$comment = "";
if ($flags & 16) {
// C-style string COMMENT data in header
if ($len - $headerlen - 1 < 8) {
return false; // Invalid format
}
$commentlen = strpos(substr($data,8+$extralen+$filenamelen),chr(0));
if ($commentlen === false || $len - $headerlen - $commentlen - 1 < 8) {
return false; // Invalid header format
}
$comment = substr($data,$headerlen,$commentlen);
$headerlen += $commentlen + 1;
}
$headercrc = "";
if ($flags & 1) {
// 2-bytes (lowest order) of CRC32 on header present
if ($len - $headerlen - 2 < 8) {
return false; // Invalid format
}
$calccrc = crc32(substr($data,0,$headerlen)) & 0xffff;
$headercrc = unpack("v", substr($data,$headerlen,2));
$headercrc = $headercrc[1];
if ($headercrc != $calccrc) {
return false; // Bad header CRC
}
$headerlen += 2;
}
// GZIP FOOTER - These be negative due to PHP's limitations
$datacrc = unpack("V",substr($data,-8,4));
$datacrc = $datacrc[1];
$isize = unpack("V",substr($data,-4));
$isize = $isize[1];
// Perform the decompression:
$bodylen = $len-$headerlen-8;
if ($bodylen < 1) {
// This should never happen - IMPLEMENTATION BUG!
return null;
}
$body = substr($data,$headerlen,$bodylen);
$data = "";
if ($bodylen > 0) {
switch ($method) {
case 8:
// Currently the only supported compression method:
$data = gzinflate($body);
break;
default:
// Unknown compression method
return false;
}
} else {
// I'm not sure if zero-byte body content is allowed.
// Allow it for now... Do nothing...
}
// Verifiy decompressed size and CRC32:
// NOTE: This may fail with large data sizes depending on how
// PHP's integer limitations affect strlen() since $isize
// may be negative for large sizes.
if ($isize != strlen($data) || crc32($data) != $datacrc) {
// Bad format! Length or CRC doesn't match!
return false;
}
return $data;
}
使用:
$html=file_get_contents('http://www.bkjia.com/librarys/veda/');
$html=gzdecode($html);
介绍这三种方法,应该可以解决大部分gzip导致的爬行乱码问题。
TrueTechArticle 有时会使用 file_get_contents() 函数来抓取网页并出现乱码。出现乱码的原因有两个,一是编码问题,二是目标页面启用了Gzip。很好的编码问题...
php禁止网页抓取(如何有效地、可靠地让“部分文章屏蔽搜索引擎”?)
网站优化 • 优采云 发表了文章 • 0 个评论 • 89 次浏览 • 2021-10-13 16:10
WordWPress企业网站和WordWPress外贸企业网站在发布产品时可能会遇到大部分内容不变文章,只需要修改部分参数或图片即可那种网站文章发布,我们可以使用WordPress文章复制插件-Duplicate Post来实现。当然,有时我们不希望搜索引擎收录类似产品文章,这可能会稀释关键词的权重。我们需要有针对性地屏蔽部分文章,那么,如何有效、可靠地实现“部分文章屏蔽搜索引擎”呢?方法如下:
robots.txt 文章页面块
在网站的根目录下找到robots.txt文件,并在其中添加拦截代码。
假设我想屏蔽/category/post-name.html,添加1行如下代码:
Disallow: /category/post-name.html
添加文章屏蔽选项
在当前主题的functions.php文件中加入如下代码即可使用:
文章/页面编辑页面添加选项
function wpyou_add_custom_box() {
if (function_exists('add_meta_box')) {
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'post', 'side', 'low');
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'page', 'side', 'low');
}
}
add_action('add_meta_boxes', 'wpyou_add_custom_box');
function wpyou_allow_se() {
global $post;
//添加验证字段
wp_nonce_field('wpyou_allow_se', 'wpyou_allow_se_nonce');
$meta_value = get_post_meta($post->ID, 'wpyou_allow_se', true);
if($meta_value)
echo ' 屏蔽搜索引擎';
else
echo ' 屏蔽搜索引擎';
}
// 保存选项设置
function wpyouse_save_postdata($post_id) {
// 验证
if ( !isset( $_POST['wpyou_allow_se_nonce']))
return $post_id;
$nonce = $_POST['wpyou_allow_se_nonce'];
// 验证字段是否合法
if (!wp_verify_nonce( $nonce, 'wpyou_allow_se'))
return $post_id;
// 判断是否自动保存
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
return $post_id;
// 验证用户权限
if ('page' == $_POST['post_type']) {
if ( !current_user_can('edit_page', $post_id))
return $post_id;
}
else {
if (!current_user_can('edit_post', $post_id))
return $post_id;
}
// 更新设置
if(!empty($_POST['wpyou-allow-se']))
update_post_meta($post_id, 'wpyou_allow_se', '1');
else
update_post_meta($post_id, 'wpyou_allow_se', '0');
}
add_action('save_post', 'wpyouse_save_postdata');
// 对于设置不允许抓取文章和页面
// 禁止搜索引擎抓取,返回404
function do_wpyou_allow_se() {
// 本功能只对文章和页面有效
if(is_singular()) {
global $post;
$is_robots = 0;
$wpyou_allow_se = get_post_meta($post->ID, 'wpyou_allow_se', true);
if(!empty($wpyou_allow_se)) {
// 下面是搜索引擎Agent判断关键字数组
// 有点简单,自己优化一下吧
$bots = array(
'Baiduspider',
'Googlebot',
'sogou spider',
'Sogou web spider',
'YodaoBot',
'Bingbot',
'Slurp',
'MSNBot',
'yahoo-blogs',
'psbot',
'Yandex',
'Yeti',
'blogsearch',
'EasouSpider',
'Mediapartners-Google'
);
$useragent = $_SERVER['HTTP_USER_AGENT'];
foreach ($bots as $lookfor) {
if (stristr($useragent, $lookfor) !== false) {
$is_robots = 1;
break;
}
}
// 如果当前文章/页面禁止搜索引擎抓取,返回404
if($is_robots) {
status_header(404);
exit;
}
}
}
}
add_action('wp', 'do_wpyou_allow_se');
如何使用
将上述代码添加到当前主题的functions.php文件后,我们就可以正常使用了,完全傻瓜式。在WordPress后端文章和页面的编辑页面,在右栏的底部,我们可以看到这样的复选框:
WordWPress 实现禁止搜索引擎抓取指定的文章(page)
如果当前文章/page 需要被搜索引擎禁止,直接勾选即可。 查看全部
php禁止网页抓取(如何有效地、可靠地让“部分文章屏蔽搜索引擎”?)
WordWPress企业网站和WordWPress外贸企业网站在发布产品时可能会遇到大部分内容不变文章,只需要修改部分参数或图片即可那种网站文章发布,我们可以使用WordPress文章复制插件-Duplicate Post来实现。当然,有时我们不希望搜索引擎收录类似产品文章,这可能会稀释关键词的权重。我们需要有针对性地屏蔽部分文章,那么,如何有效、可靠地实现“部分文章屏蔽搜索引擎”呢?方法如下:
robots.txt 文章页面块
在网站的根目录下找到robots.txt文件,并在其中添加拦截代码。
假设我想屏蔽/category/post-name.html,添加1行如下代码:
Disallow: /category/post-name.html
添加文章屏蔽选项
在当前主题的functions.php文件中加入如下代码即可使用:
文章/页面编辑页面添加选项
function wpyou_add_custom_box() {
if (function_exists('add_meta_box')) {
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'post', 'side', 'low');
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'page', 'side', 'low');
}
}
add_action('add_meta_boxes', 'wpyou_add_custom_box');
function wpyou_allow_se() {
global $post;
//添加验证字段
wp_nonce_field('wpyou_allow_se', 'wpyou_allow_se_nonce');
$meta_value = get_post_meta($post->ID, 'wpyou_allow_se', true);
if($meta_value)
echo ' 屏蔽搜索引擎';
else
echo ' 屏蔽搜索引擎';
}
// 保存选项设置
function wpyouse_save_postdata($post_id) {
// 验证
if ( !isset( $_POST['wpyou_allow_se_nonce']))
return $post_id;
$nonce = $_POST['wpyou_allow_se_nonce'];
// 验证字段是否合法
if (!wp_verify_nonce( $nonce, 'wpyou_allow_se'))
return $post_id;
// 判断是否自动保存
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
return $post_id;
// 验证用户权限
if ('page' == $_POST['post_type']) {
if ( !current_user_can('edit_page', $post_id))
return $post_id;
}
else {
if (!current_user_can('edit_post', $post_id))
return $post_id;
}
// 更新设置
if(!empty($_POST['wpyou-allow-se']))
update_post_meta($post_id, 'wpyou_allow_se', '1');
else
update_post_meta($post_id, 'wpyou_allow_se', '0');
}
add_action('save_post', 'wpyouse_save_postdata');
// 对于设置不允许抓取文章和页面
// 禁止搜索引擎抓取,返回404
function do_wpyou_allow_se() {
// 本功能只对文章和页面有效
if(is_singular()) {
global $post;
$is_robots = 0;
$wpyou_allow_se = get_post_meta($post->ID, 'wpyou_allow_se', true);
if(!empty($wpyou_allow_se)) {
// 下面是搜索引擎Agent判断关键字数组
// 有点简单,自己优化一下吧
$bots = array(
'Baiduspider',
'Googlebot',
'sogou spider',
'Sogou web spider',
'YodaoBot',
'Bingbot',
'Slurp',
'MSNBot',
'yahoo-blogs',
'psbot',
'Yandex',
'Yeti',
'blogsearch',
'EasouSpider',
'Mediapartners-Google'
);
$useragent = $_SERVER['HTTP_USER_AGENT'];
foreach ($bots as $lookfor) {
if (stristr($useragent, $lookfor) !== false) {
$is_robots = 1;
break;
}
}
// 如果当前文章/页面禁止搜索引擎抓取,返回404
if($is_robots) {
status_header(404);
exit;
}
}
}
}
add_action('wp', 'do_wpyou_allow_se');
如何使用
将上述代码添加到当前主题的functions.php文件后,我们就可以正常使用了,完全傻瓜式。在WordPress后端文章和页面的编辑页面,在右栏的底部,我们可以看到这样的复选框:

WordWPress 实现禁止搜索引擎抓取指定的文章(page)
如果当前文章/page 需要被搜索引擎禁止,直接勾选即可。
php禁止网页抓取(接下来K1源码网为讲解如何提高搜索引擎的抓取频次的方法)
网站优化 • 优采云 发表了文章 • 0 个评论 • 59 次浏览 • 2021-10-13 16:09
新的网站上线了,搜索引擎将是收录。如果要增加网站的收录数量,需要能够吸引更多的蜘蛛爬取网站,增加爬取频率,那么如何适当提高爬取频率搜索引擎?接下来,K1源码网将详细讲解如何提高搜索引擎爬取的频率。
1.网站页面上的内部链接
如果站点页面较深,蜘蛛将无法抓取,用户体验不是很好,页面权重相对分散。页面浅的时候,可以添加几个链接路径进行通信,这样不仅蜘蛛会继续爬行,而且用户的点击也会保持粘性。
2.网站 内容更新频率
如果想让蜘蛛频繁爬取,首先网站的更新频率不能低。如果新站点每天更新多一点,如果网站的更新不到位,蜘蛛会降低爬取的频率,甚至不爬取Pick。相反,如果页面有更新,控制网站的更新频率,蜘蛛会根据新链接爬到新页面。
3.交换友情链接
SEO 知道友情链接的作用。有助于网站的排名,同时也是一种引导蜘蛛在网站之间来回爬行的方式。友情链接实际上比外部链接要好。效果更好。所以我们要和一些经常更新的网站交换链接。
4.链外发送
外链的作用是传递重量,吸引流量,吸引蜘蛛。正是因为外链有这个吸引蜘蛛的作用,所以我们在发布新的网站时,通常会去一些收录效果更好的网站发布一些外链,以吸引蜘蛛爬行。
要增加网站的收录,需要吸引蜘蛛来增加爬行频率。收录是保证网站流量的基础,爬取频率是收录保证。
免责声明:用户在使用本系统时,必须在国家相关法律法规的范围内,并获得国家有关部门的授权,禁止将其用于一切非法活动。使用仅限于测试、实验和研究目的,禁止用于所有商业运营。对于用户在使用过程中的任何违法行为,本团队不承担任何责任。 查看全部
php禁止网页抓取(接下来K1源码网为讲解如何提高搜索引擎的抓取频次的方法)
新的网站上线了,搜索引擎将是收录。如果要增加网站的收录数量,需要能够吸引更多的蜘蛛爬取网站,增加爬取频率,那么如何适当提高爬取频率搜索引擎?接下来,K1源码网将详细讲解如何提高搜索引擎爬取的频率。
1.网站页面上的内部链接
如果站点页面较深,蜘蛛将无法抓取,用户体验不是很好,页面权重相对分散。页面浅的时候,可以添加几个链接路径进行通信,这样不仅蜘蛛会继续爬行,而且用户的点击也会保持粘性。
2.网站 内容更新频率
如果想让蜘蛛频繁爬取,首先网站的更新频率不能低。如果新站点每天更新多一点,如果网站的更新不到位,蜘蛛会降低爬取的频率,甚至不爬取Pick。相反,如果页面有更新,控制网站的更新频率,蜘蛛会根据新链接爬到新页面。
3.交换友情链接
SEO 知道友情链接的作用。有助于网站的排名,同时也是一种引导蜘蛛在网站之间来回爬行的方式。友情链接实际上比外部链接要好。效果更好。所以我们要和一些经常更新的网站交换链接。
4.链外发送
外链的作用是传递重量,吸引流量,吸引蜘蛛。正是因为外链有这个吸引蜘蛛的作用,所以我们在发布新的网站时,通常会去一些收录效果更好的网站发布一些外链,以吸引蜘蛛爬行。
要增加网站的收录,需要吸引蜘蛛来增加爬行频率。收录是保证网站流量的基础,爬取频率是收录保证。
免责声明:用户在使用本系统时,必须在国家相关法律法规的范围内,并获得国家有关部门的授权,禁止将其用于一切非法活动。使用仅限于测试、实验和研究目的,禁止用于所有商业运营。对于用户在使用过程中的任何违法行为,本团队不承担任何责任。
php禁止网页抓取(如何有效地、可靠地让“部分文章屏蔽搜索引擎”?)
网站优化 • 优采云 发表了文章 • 0 个评论 • 75 次浏览 • 2021-10-12 22:07
WordWPress企业网站和WordWPress外贸企业网站在发布产品时可能会遇到大部分内容不变文章,只需要修改部分参数或图片即可那种网站文章发布,我们可以使用WordPress文章复制插件——Duplicate Post来实现。当然,有时我们不希望搜索引擎收录类似产品文章,这可能会稀释关键词的权重。我们需要有针对性地屏蔽部分文章,那么,如何有效、可靠地实现“部分文章屏蔽搜索引擎”呢?方法如下:
robots.txt 文章页面块
在网站的根目录下找到robots.txt文件,并在其中添加拦截代码。
假设我想屏蔽/category/post-name.html,添加1行如下代码:
Disallow: /category/post-name.html
添加文章屏蔽选项
在当前主题的functions.php文件中加入如下代码即可使用:
文章/页面编辑页面添加选项
function wpyou_add_custom_box() {
if (function_exists('add_meta_box')) {
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'post', 'side', 'low');
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'page', 'side', 'low');
}
}
add_action('add_meta_boxes', 'wpyou_add_custom_box');
function wpyou_allow_se() {
global $post;
//添加验证字段
wp_nonce_field('wpyou_allow_se', 'wpyou_allow_se_nonce');
$meta_value = get_post_meta($post->ID, 'wpyou_allow_se', true);
if($meta_value)
echo ' 屏蔽搜索引擎';
else
echo ' 屏蔽搜索引擎';
}
// 保存选项设置
function wpyouse_save_postdata($post_id) {
// 验证
if ( !isset( $_POST['wpyou_allow_se_nonce']))
return $post_id;
$nonce = $_POST['wpyou_allow_se_nonce'];
// 验证字段是否合法
if (!wp_verify_nonce( $nonce, 'wpyou_allow_se'))
return $post_id;
// 判断是否自动保存
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
return $post_id;
// 验证用户权限
if ('page' == $_POST['post_type']) {
if ( !current_user_can('edit_page', $post_id))
return $post_id;
}
else {
if (!current_user_can('edit_post', $post_id))
return $post_id;
}
// 更新设置
if(!empty($_POST['wpyou-allow-se']))
update_post_meta($post_id, 'wpyou_allow_se', '1');
else
update_post_meta($post_id, 'wpyou_allow_se', '0');
}
add_action('save_post', 'wpyouse_save_postdata');
// 对于设置不允许抓取文章和页面
// 禁止搜索引擎抓取,返回404
function do_wpyou_allow_se() {
// 本功能只对文章和页面有效
if(is_singular()) {
global $post;
$is_robots = 0;
$wpyou_allow_se = get_post_meta($post->ID, 'wpyou_allow_se', true);
if(!empty($wpyou_allow_se)) {
// 下面是搜索引擎Agent判断关键字数组
// 有点简单,自己优化一下吧
$bots = array(
'Baiduspider',
'Googlebot',
'sogou spider',
'Sogou web spider',
'YodaoBot',
'Bingbot',
'Slurp',
'MSNBot',
'yahoo-blogs',
'psbot',
'Yandex',
'Yeti',
'blogsearch',
'EasouSpider',
'Mediapartners-Google'
);
$useragent = $_SERVER['HTTP_USER_AGENT'];
foreach ($bots as $lookfor) {
if (stristr($useragent, $lookfor) !== false) {
$is_robots = 1;
break;
}
}
// 如果当前文章/页面禁止搜索引擎抓取,返回404
if($is_robots) {
status_header(404);
exit;
}
}
}
}
add_action('wp', 'do_wpyou_allow_se');
如何使用
将上述代码添加到当前主题的functions.php文件后,我们就可以正常使用了,完全傻瓜式。在WordPress后台文章和页面的编辑页面,在右栏的底部,我们可以看到这样的复选框:
如果当前文章/page 需要被搜索引擎禁止,直接勾选即可。
喜欢 (4) 查看全部
php禁止网页抓取(如何有效地、可靠地让“部分文章屏蔽搜索引擎”?)
WordWPress企业网站和WordWPress外贸企业网站在发布产品时可能会遇到大部分内容不变文章,只需要修改部分参数或图片即可那种网站文章发布,我们可以使用WordPress文章复制插件——Duplicate Post来实现。当然,有时我们不希望搜索引擎收录类似产品文章,这可能会稀释关键词的权重。我们需要有针对性地屏蔽部分文章,那么,如何有效、可靠地实现“部分文章屏蔽搜索引擎”呢?方法如下:
robots.txt 文章页面块
在网站的根目录下找到robots.txt文件,并在其中添加拦截代码。
假设我想屏蔽/category/post-name.html,添加1行如下代码:
Disallow: /category/post-name.html
添加文章屏蔽选项
在当前主题的functions.php文件中加入如下代码即可使用:
文章/页面编辑页面添加选项
function wpyou_add_custom_box() {
if (function_exists('add_meta_box')) {
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'post', 'side', 'low');
add_meta_box('wpyou_allow_se', '搜索引擎', 'wpyou_allow_se', 'page', 'side', 'low');
}
}
add_action('add_meta_boxes', 'wpyou_add_custom_box');
function wpyou_allow_se() {
global $post;
//添加验证字段
wp_nonce_field('wpyou_allow_se', 'wpyou_allow_se_nonce');
$meta_value = get_post_meta($post->ID, 'wpyou_allow_se', true);
if($meta_value)
echo ' 屏蔽搜索引擎';
else
echo ' 屏蔽搜索引擎';
}
// 保存选项设置
function wpyouse_save_postdata($post_id) {
// 验证
if ( !isset( $_POST['wpyou_allow_se_nonce']))
return $post_id;
$nonce = $_POST['wpyou_allow_se_nonce'];
// 验证字段是否合法
if (!wp_verify_nonce( $nonce, 'wpyou_allow_se'))
return $post_id;
// 判断是否自动保存
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
return $post_id;
// 验证用户权限
if ('page' == $_POST['post_type']) {
if ( !current_user_can('edit_page', $post_id))
return $post_id;
}
else {
if (!current_user_can('edit_post', $post_id))
return $post_id;
}
// 更新设置
if(!empty($_POST['wpyou-allow-se']))
update_post_meta($post_id, 'wpyou_allow_se', '1');
else
update_post_meta($post_id, 'wpyou_allow_se', '0');
}
add_action('save_post', 'wpyouse_save_postdata');
// 对于设置不允许抓取文章和页面
// 禁止搜索引擎抓取,返回404
function do_wpyou_allow_se() {
// 本功能只对文章和页面有效
if(is_singular()) {
global $post;
$is_robots = 0;
$wpyou_allow_se = get_post_meta($post->ID, 'wpyou_allow_se', true);
if(!empty($wpyou_allow_se)) {
// 下面是搜索引擎Agent判断关键字数组
// 有点简单,自己优化一下吧
$bots = array(
'Baiduspider',
'Googlebot',
'sogou spider',
'Sogou web spider',
'YodaoBot',
'Bingbot',
'Slurp',
'MSNBot',
'yahoo-blogs',
'psbot',
'Yandex',
'Yeti',
'blogsearch',
'EasouSpider',
'Mediapartners-Google'
);
$useragent = $_SERVER['HTTP_USER_AGENT'];
foreach ($bots as $lookfor) {
if (stristr($useragent, $lookfor) !== false) {
$is_robots = 1;
break;
}
}
// 如果当前文章/页面禁止搜索引擎抓取,返回404
if($is_robots) {
status_header(404);
exit;
}
}
}
}
add_action('wp', 'do_wpyou_allow_se');
如何使用
将上述代码添加到当前主题的functions.php文件后,我们就可以正常使用了,完全傻瓜式。在WordPress后台文章和页面的编辑页面,在右栏的底部,我们可以看到这样的复选框:

如果当前文章/page 需要被搜索引擎禁止,直接勾选即可。
喜欢 (4)
php禁止网页抓取(robots.txtMeta标签的功能是怎么放在网站中的?)
网站优化 • 优采云 发表了文章 • 0 个评论 • 81 次浏览 • 2021-10-12 22:04
robots.txt放在网站,文件级网络蜘蛛授权;而robots Meta标签放置在网页中,一般在某些网页需要单独设置时使用。两者的功能是一样的。
Meta robots标签必须放在中间,格式:
content中的值决定了允许爬取的类型,必须同时收录两个值:是否允许索引(index)和是否关注链接(follow,也可以理解为是否允许继续爬行)沿着网页中的超链接)。共有4个参数可选,形成4种组合:
index,follow:允许抓取此页面并允许跟踪链接。
index, nofollow:允许抓取此页面,但禁止跟踪链接。
noindex,follow:禁止抓取此页面,但允许链接跟踪。
noindex、nofllow:禁止抓取本页,禁止关注本页链接。
允许搜索引擎收录您的网页,但禁止其收录网页上的图片:
注意:需要屏蔽或删除哪个网页,在该网页上添加标签,其他网页不受影响。
该标签用于特定网页,而不是整个 网站。
上面的1和4还有另外一种写法:
index,follow 可以写成all,如:
noindex,nofollow 可以写成none,如:
需要注意的是,很多搜索引擎不支持robots Meta标签,只有少数搜索引擎可以识别并根据给定值抓取。因此,尽量使用robots.txt文件来限制爬行。
最后,我想给你一个建议。不要在robots.txt中设置太多禁止的文件或目录,只设置你真的不想被搜索引擎索引的目录和文件。
尤其是当你不确定文件或目录的作用时,不要轻易禁止爬行。前段时间旅行的朋友,网站里面有很多旅游景点的图片,但是都没有被几大搜索引擎收录。后来查看网站,发现图片目录上传在管理目录admin下,被robots.txt禁止爬取。 查看全部
php禁止网页抓取(robots.txtMeta标签的功能是怎么放在网站中的?)
robots.txt放在网站,文件级网络蜘蛛授权;而robots Meta标签放置在网页中,一般在某些网页需要单独设置时使用。两者的功能是一样的。
Meta robots标签必须放在中间,格式:
content中的值决定了允许爬取的类型,必须同时收录两个值:是否允许索引(index)和是否关注链接(follow,也可以理解为是否允许继续爬行)沿着网页中的超链接)。共有4个参数可选,形成4种组合:
index,follow:允许抓取此页面并允许跟踪链接。
index, nofollow:允许抓取此页面,但禁止跟踪链接。
noindex,follow:禁止抓取此页面,但允许链接跟踪。
noindex、nofllow:禁止抓取本页,禁止关注本页链接。
允许搜索引擎收录您的网页,但禁止其收录网页上的图片:
注意:需要屏蔽或删除哪个网页,在该网页上添加标签,其他网页不受影响。
该标签用于特定网页,而不是整个 网站。
上面的1和4还有另外一种写法:
index,follow 可以写成all,如:
noindex,nofollow 可以写成none,如:
需要注意的是,很多搜索引擎不支持robots Meta标签,只有少数搜索引擎可以识别并根据给定值抓取。因此,尽量使用robots.txt文件来限制爬行。
最后,我想给你一个建议。不要在robots.txt中设置太多禁止的文件或目录,只设置你真的不想被搜索引擎索引的目录和文件。
尤其是当你不确定文件或目录的作用时,不要轻易禁止爬行。前段时间旅行的朋友,网站里面有很多旅游景点的图片,但是都没有被几大搜索引擎收录。后来查看网站,发现图片目录上传在管理目录admin下,被robots.txt禁止爬取。