如何设置js 与html不让网络爬虫抓取

JavaScript019

如何设置js 与html不让网络爬虫抓取,第1张

百度了一个方法,仅供参考。 robots.txt文件应该放置在网站根目录下。robots.txt文件用法举例:1. 允许所有的robot访问User-agent: * Allow: / 或者 User-agent: * Disallow:2. 禁止所有搜索引擎访问网站的任何部分User-agent: *Disallow: /3. 仅禁止Baiduspider访问您的网站User-agent: BaiduspiderDisallow: /4. 仅允许Baiduspider访问您的网站User-agent: BaiduspiderDisallow:5. 禁止spider访问特定目录User-agent: *Disallow: /cgi-bin/Disallow: /tmp/Disallow: /~joe/6. 允许访问特定目录中的部分urlUser-agent: *Allow: /cgi-bin/seeAllow: /tmp/hiAllow: /~joe/lookDisallow: /cgi-bin/Disallow: /tmp/Disallow: /~joe/7. 使用”*”限制访问url禁止访问/cgi-bin/目录下的所有以”.htm”为后缀的URL(包含子目录)。User-agent: *Disallow: /cgi-bin/*.htm8. 使用”$”限制访问url仅允许访问以”.htm”为后缀的URL。User-agent:Allow: .htm$Disallow: /例9. 禁止访问网站中所有的动态页面User-agent: Disallow: /*?*10. 禁止Baiduspider抓取网站上所有图片仅允许抓取网页,禁止抓取任何图片。User-agent: BaiduspiderDisallow: .jpg$Disallow: .jpeg$Disallow: .gif$Disallow: .png$Disallow: .bmp$11. 仅允许Baiduspider抓取网页和.gif格式图片允许抓取网页和gif格式图片,不允许抓取其他格式图片User-agent: BaiduspiderAllow: .gif$Disallow: .jpg$Disallow: .jpeg$Disallow: .png$Disallow: .bmp$12. 仅禁止Baiduspider抓取.jpg格式图片User-agent: BaiduspiderDisallow: .jpg$

1.基于程序本身去防止爬取:作为爬虫程序,爬取行为是对页面的源文件爬取,如爬取静态页面的html代码,可以用jquery去模仿写html,这种方法伪装的页面就很难被爬取了,不过这种方法对程序员的要求很高。

2.基于iptables和shell脚本:可以对nginx的access.log进行策略定义,例如定义在1分钟内并发连接数超过30个ip为非法,如ip不在白名单内,则加入iptables策略封掉,当然这种的缺点是会有“误伤”,策略细粒度越小就会有更多的“误伤”,细粒度大就会使效果变差,另外还有类似的第三方工具fail2ban,利用做filter和actor对一些有危害的操作记录或是封ip。但是对于某个特定的爬虫地址(例如网易、有道)的爬取行为拒绝也很难准确做到,因为你无法准确知道这些特定的爬虫ip地址(例如网易、有道),以下是我的定位方式,不过发现由于ip库不准确造成错误的屏蔽。注意:建议不要用封ip条目的方式,iptables列表长度是65535时就会封满,服务器也就会死机。