当前位置: 首页 > 编程笔记 >

Nginx限制搜索引擎爬虫频率、禁止屏蔽网络爬虫配置示例

雍阳
2023-03-14
本文向大家介绍Nginx限制搜索引擎爬虫频率、禁止屏蔽网络爬虫配置示例,包括了Nginx限制搜索引擎爬虫频率、禁止屏蔽网络爬虫配置示例的使用技巧和注意事项,需要的朋友参考一下


#全局配置

limit_req_zone $anti_spider zone=anti_spider:10m rate=15r/m;

#某个server中  limit_req zone=anti_spider burst=30 nodelay;  if ($http_user_agent ~* "xxspider|xxbot") {  set $anti_spider $http_user_agent; }

超过设置的限定频率,就会给spider一个503。
上述配置详细解释请自行google下,具体的spider/bot名称请自定义。

附:nginx中禁止屏蔽网络爬虫


server {  

        listen       80;  

        server_name  www.xxx.com;  

  

        #charset koi8-r;  

  

        #access_log  logs/host.access.log  main;  

  

        #location / {  

        #    root   html;  

        #    index  index.html index.htm;  

        #}  

    if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot") {  

                return 403;  

        }  

  

    location ~ ^/(.*)$ {  

                proxy_pass http://localhost:8080;  

        proxy_redirect          off;  

        proxy_set_header        Host $host;  

        proxy_set_header        X-Real-IP $remote_addr;  

        proxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for;  

        client_max_body_size    10m;  

        client_body_buffer_size 128k;  

        proxy_connect_timeout   90;  

        proxy_send_timeout      90;  

        proxy_read_timeout      90;  

        proxy_buffer_size       4k;  

        proxy_buffers           4 32k;  

        proxy_busy_buffers_size 64k;  

        proxy_temp_file_write_size 64k;  

    }  

      

        #error_page  404              /404.html;  

  

        # redirect server error pages to the static page /50x.html  

        #  

        error_page   500 502 503 504  /50x.html;  

        location = /50x.html {  

            root   html;  

        }  

  

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80  

        #  

        #location ~ \.php$ {  

        #    proxy_pass   http://127.0.0.1;  

        #}  

  

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  

        #  

        #location ~ \.php$ {  

        #    root           html;  

        #    fastcgi_pass   127.0.0.1:9000;  

        #    fastcgi_index  index.php;  

        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;  

        #    include        fastcgi_params;  

        #}  

  

        # deny access to .htaccess files, if Apache's document root  

        # concurs with nginx's one  

        #  

        #location ~ /\.ht {  

        #    deny  all;  

        #}  

    }  


可以用 curl 测试一下

curl -I -A "qihoobot" www.xxx.com

 类似资料:
  • 本文向大家介绍nginx修改配置限制恶意爬虫频率,包括了nginx修改配置限制恶意爬虫频率的使用技巧和注意事项,需要的朋友参考一下 如何在nginx中限制恶意网络爬虫抓取内容呢?也就是限制下恶意爬虫的抓取频率。下面来一起看看。 今天在微博发现@金荣叶 的处理方法很灵活,可以动态设定一个爬虫的频率,达到减轻服务器负载,并且不至于封杀爬虫。 超过设置的限定频率,就会给spider一个503。 总结 以

  • 主要内容:认识爬虫,爬虫分类,爬虫应用,爬虫是一把双刃剑,为什么用Python做爬虫,编写爬虫的流程网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。 认识爬虫 我们所熟悉的一系列搜索引擎都是大型的网络爬虫,比如百度、搜狗、360浏览器、谷歌搜索等等。每个搜索引擎都拥有自己的爬虫程序,比如 360 浏览器的爬虫称作 360Spider,搜狗的爬虫叫做

  • 案例:爬取百度新闻首页的新闻标题信息 url地址:http://news.baidu.com/ 具体实现步骤: 导入urlib库和re正则 使用urllib.request.Request()创建request请求对象 使用urllib.request.urlopen执行信息爬取,并返回Response对象 使用read()读取信息,使用decode()执行解码 使用re正则解析结果 遍历输出结果

  • 5.1 网络爬虫概述: 网络爬虫(Web Spider)又称网络蜘蛛、网络机器人,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 网络爬虫按照系统结构和实现技术,大致可分为一下集中类型: 通用网络爬虫:就是尽可能大的网络覆盖率,如 搜索引擎(百度、雅虎和谷歌等…)。 聚焦网络爬虫:有目标性,选择性地访问万维网来爬取信息。 增量式网络爬虫:只爬取新产生的或者已经更新的页面信息。特点:耗费

  • 图片来源于网络 1. 爬虫的定义 网络爬虫(又称为网页蜘蛛,网络机器人,在 FOAF 社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。—— 百度百科定义 详细定义参照 慕课网注解: 爬虫其实是一种自动化信息采集程序或脚本,可以方便的帮助大家获得自己想要的特定信息。比如说,像百度,谷歌等搜索引擎

  • 本文向大家介绍Linux/Nginx如何查看搜索引擎蜘蛛爬虫的行为,包括了Linux/Nginx如何查看搜索引擎蜘蛛爬虫的行为的使用技巧和注意事项,需要的朋友参考一下 摘要 做好网站SEO优化的第一步就是首先让蜘蛛爬虫经常来你的网站进行光顾,下面的Linux命令可以让你清楚的知道蜘蛛的爬行情况。下面我们针对nginx服务器进行分析,日志文件所在目录:/usr/local/nginx/logs/ac