反爬虫一:robots协议实践

一:什么是robots?

Robots协议,又称作爬虫协议,机器人协议,全名叫做网络爬虫排除标准(Robots Exclusion Protocol),是用来告诉爬虫和搜索引擎哪些页面可以抓取,哪些不可以抓取,通常为一个robots.txt文本文件,一般放在网站的根目录下。如:https://www.jd.com/robots.txt

二:基本语法

  1. User-agent:Baiduspider(描述了搜索爬虫的名称,这里为Baiduspider,代表设置的规则是对百度爬虫是有效的,如果有很多条的User-agent:,就会有多个爬虫会受到限制)
  2. User-agent: *,所有
  3. Disallow: /baidu(指定了不允许抓取的目录)
  4. Disallow: / 则表示不允许抓取所有页面

三:配置

  1. 写一个robots.txt文件,内容如下,示例为禁止所有爬虫
User-agent: *
Disallow: /
  1. 配置nginx
location  /robots.txt {
    alias  /path/to/static/robots.txt;
}

使用django的话配置如下:根路由下添加

from django.views.generic import TemplateView

path(robots.txt, TemplateView.as_view(template_name=robot/robots.txt, content_type=text/plain)),
经验分享 程序员 微信小程序 职场和发展