批量检测被百度收录的死链的方法
前段时间服务器被入侵,挂了很多博彩之类的黑页,而且全部被百度收录。
现在把漏洞补好了,但删除黑页文件以后成了死链,要怎么让百度删除收录呢?
在网上找了一下,似乎只有检测网址是否被收录的工具,而没有检测收录的是不是死链的工具。
自己理清了下思路,找办法找出了所有被收录的死链,并写下这篇文章。
不知道有没有更好的方法,大家可以告诉我,先分享给大家,如果有大神请忽视或者告诉我更好的方法,一起学习交流吧。
下面教程开始
先在百度找到xenu可以模拟爬虫爬取所有连接,我下载了个汉化版。
我们先用这个工具查询所有被收录的页面。
打开软件,填入简版百度site网站地址,之所以用简版是可以减少链接查询时间和内容。(请把xxx.bizcn.com换成你的网址)
http://www.baidu.com/s?ie=utf-8&tn=baidulocal&wd=site%3Axxx.bizcn.com
等待检测完成。
点击导出为制表符分隔的文件。
导出的文件,我们可以看到格式是:网址+空格+状态码
那么写一个正则,把需要的网址提取出来就行,比如www.baidu.com下的404页面就是
/http:\/\/www.baidu.com(.*?)\s404/i
(以http://www.baidu.com开头,\s代表空格,404,/i代表匹配大小写)
不会正则怎么办?
为了方便大家,我把文件作了修改,大家只要把head改成标致性开头,state改成状态码就行,file改成导出的文件路径就行。
head怎么改,举个例子,
你的网站是http://www.baidu.com/abc.html,那么你就写http://www.baidu.com/
你的网站是http://abc.baidu.com/abc.html,那么你就写http://abc.baidu.com/
把正则写入php,在php环境下运行get.php。那么结果就出来了。
这时你只需要全选,复制到一个txt文件,上传到网站空间,再到百度站长平台死链提交填入文件路径就行就可以。
我们知道,思路是通过爬取找出所有被收录的链接,然后按条件列出来而已。
这样的话,只要把开头输入的site网址改一下,也可以查询其他搜索引擎的收录。
把正则改一下,可以获得如标题等其他内容。在此就不一一叙述。
原创: http://blog.vg 欢迎来小博逛逛
来源: 卢松松博客 (微信/QQ号:13340454),欢迎分享本文,转载请保留出处!