Page 260 - HTTP权威指南
P. 260

一个指向下个月的链接。真正的用户是不会不停地请求下个月的链接的,但不了解
                 其内容的动态特性的机器人可能会不断向这些资源发出无穷的请求。                               5



                   请求报文
                    GET /index-fall.html HTTP/1.1
                    Host: www.evil-joes-hardware.com
                    Accept: *
                    User-agent: ShopBot
                                                     响应报文               www.evil-joes-hardware.com
                                                      HTTP/1.1 200 OK
                                                      Content-type: text/html
                                                      Content-length: 617
                                                      <HTML><BODY>
                                                      <A HREF=/index-fall2.html>trick</A>[...]
                   Web机器人客户端
                   请求报文
                    GET /index-fall2.html HTTP/1.1
                    Host: www.evil-joes-hardware.com
                    Accept: *
                    User-agent: ShopBot
                                                     响应报文               www.evil-joes-hardware.com
                                                      HTTP/1.1 200 OK
                                                      Content-type: text/html
                                                      Content-length: 617
                                                      <HTML><BODY>
                                                      <A HREF=/index-fall3.html>trick</A>[...]
                   Web机器人客户端
                    有几个站点上只有恶意的网关应用程序,其唯一目的就是用假内容来陷害毫无防备的机器人。
                    在这个例子中,网关会动态生成无数的假Web页面,每个假页面都指向另一个假页面。

                 图 9-4 恶意的动态 Web 空间示例


                 9.1.10 避免循环和重复

                 没有什么简单明了的方式可以避免所有的环路。实际上,经过良好设计的机器人中
                 要包含一组试探方式,以避免环路的出现。

                 总的说来,爬虫的自动化程度越高(人为的监管越少),越可能陷入麻烦之中。机器
                 人的实现者需要做一些取舍——这些试探方式有助于避免问题的出现,但你可能会
                 终止扫描那些看起来可疑的有效内容,因此这种方式也是“有损失”的。                                             222

                 在机器人会遇到的各种危险的 Web 中,有些技术的使用可以使机器人有更好的表现。





                 注 5:  这是 http://www.searchtools.com/robots/robot-checklist.html 上提到的日历站点 http://cgi.umbc.edu/cgi-
                     bin/WebEvent/Webevent.cgi 上的真实例子。这样的动态内容带来的后果就是,很多机器人都拒绝爬行
                     URL 中包含子字符串“cgi”的页面。

                                                                           Web机器人   |   233
   255   256   257   258   259   260   261   262   263   264   265