V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
qiongqi
V2EX  ›  问与答

写个脚本,递增 url 爬别的网站,算违反 robots 吗?

  •  
  •   qiongqi · 2014-07-09 20:10:15 +08:00 · 6776 次点击
    这是一个创建于 3826 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如某网站的robots.txt为
    User-agent: *
    Allow: /
    它的某类页面的url是有规律的,为 http://abchost/detail/123
    我从1到100000遍历爬这类页面,算违反robots吗?
    第 1 条附言  ·  2014-07-10 00:19:46 +08:00
    没想到楼歪了,
    其实我真实的困惑是在5楼:

    就是我抓的时候,突然想到,
    如果 http://abchost/detail/555 从来没有出现在其它页面的href里,就是如果一个url完全是个孤岛,那么搜索引擎会不会找到这个页面?
    72 条回复    2014-07-10 21:25:49 +08:00
    msg7086
        1
    msg7086  
       2014-07-09 20:12:16 +08:00   ❤️ 1
    不算。Allow: / 了。但是别爬太过火把人机器搞挂了。
    qiongqi
        3
    qiongqi  
    OP
       2014-07-09 20:20:50 +08:00
    @Livid 计数bug了,我看到两个回复,然后进来只有1个
    msg7086
        4
    msg7086  
       2014-07-09 20:21:42 +08:00
    2楼被删了或者折叠了。
    qiongqi
        5
    qiongqi  
    OP
       2014-07-09 20:22:03 +08:00
    还有个疑惑是:
    如果 http://abchost/detail/555 从来没有出现在其它页面的href里,搜索引擎会抓到这个页面吗?
    Livid
        6
    Livid  
    MOD
       2014-07-09 20:27:11 +08:00 via iPhone
    V2EX 有个功能叫 block,如果你 block 其他人,你就看不到他的回复了。这不是 bug,OK?
    alexkh
        7
    alexkh  
       2014-07-09 20:32:07 +08:00
    User-agent: *
    Allow: /
    意思是所有的UA,允许抓取所有页面。

    另外,自己的爬虫也不用都遵守这种规则吧。
    kennedy32
        8
    kennedy32  
       2014-07-09 20:34:34 +08:00
    奇怪,也不知道2楼是谁,我也看不到
    msg7086
        9
    msg7086  
       2014-07-09 20:35:44 +08:00
    @Livid 我没有block任何人,不过我看不到2楼哦。所以我第一反应是折叠了。
    mkeith
        10
    mkeith  
       2014-07-09 20:35:58 +08:00
    难道2楼这么遭人Block啊,我也看不见啊.
    Livid
        11
    Livid  
    MOD
       2014-07-09 20:36:45 +08:00
    我可以看到,不过是一条毫无意义的灌水。估计是被其他管理员 hide 了。
    1994S
        12
    1994S  
       2014-07-09 20:38:24 +08:00
    我也看不见-_-a
    ChiangDi
        13
    ChiangDi  
       2014-07-09 20:39:50 +08:00
    我一个人都没Block也没看到。
    dong3580
        14
    dong3580  
       2014-07-09 20:48:46 +08:00 via Android
    这个应该没问题吧,不算违反robots协议。试试先访问一下协议内容再过滤抓。
    ——
    我也看不到,表示我没block任何人。难不成二楼复读了一楼的了?
    txlty
        15
    txlty  
       2014-07-09 20:48:48 +08:00
    你个小脚本装什么蜘蛛。。
    Livid
        16
    Livid  
    MOD
       2014-07-09 20:51:44 +08:00   ❤️ 3
    @mkeith
    @dong3580
    @ChiangDi
    @1994S
    @msg7086
    @kennedy32
    @qiongqi

    你们觉得这样的 2 楼应该被处理么?

    msg7086
        17
    msg7086  
       2014-07-09 20:56:31 +08:00
    @Livid Nice job! (话说我还是刚注意到LZ的头像
    arcas
        18
    arcas  
       2014-07-09 21:07:17 +08:00
    竟然还有其他管理员。。
    jeansfish
        19
    jeansfish  
       2014-07-09 21:28:56 +08:00
    啊,见到管理员的世界了。
    歪楼不算灌水吧(事实上已经歪了
    ======================
    楼主要爬V2EX吗?
    dong3580
        20
    dong3580  
       2014-07-09 22:25:52 +08:00
    @Livid
    这。。。也太水了。。。
    这歪楼歪的,
    Livid
        21
    Livid  
    MOD
       2014-07-09 22:41:48 +08:00
    @dong3580 我只是不希望我们维护社区氛围的努力被误解成 bug 或者什么黑箱操作。
    wy315700
        22
    wy315700  
       2014-07-09 23:21:50 +08:00
    @Livid 能不能这么做,把折叠放到前端,然后提供一个按钮展开,既方便大家查看被Hide的,同时大部分人也看不到被hide的内容,提供个建议而已。
    dong3580
        23
    dong3580  
       2014-07-09 23:23:18 +08:00
    @Livid
    理解。
    但是不知道为什么,第一下看到,确实是不相信,反而觉得可能是“黑箱操作”,我为什么会这么想呢?
    yangqi
        24
    yangqi  
       2014-07-09 23:26:01 +08:00
    @Livid 虽然不是bug,但是因为没有公开操作或者提供些信息,所以很容易让人误解。算是设计或者是展示上的bug吧
    coosir
        25
    coosir  
       2014-07-09 23:29:07 +08:00 via iPad
    最好显示如:23回复(1折叠)
    点击折叠数可展开
    Livid
        26
    Livid  
    MOD
       2014-07-09 23:31:50 +08:00
    @wy315700
    @dong3580
    @yangqi
    @coosir

    为了一些根本不值得关注的垃圾信息,花时间去写代码来优雅地处理?说真的,我更宁愿把时间花在一些更有用的事情上。
    yangqi
        27
    yangqi  
       2014-07-09 23:39:29 +08:00   ❤️ 1
    @Livid 至少你也同意了这是优雅的处理,对于完善一个社区来说why not? 至于你说的时间和优先级上面你比大家更清楚,大家也只是提建议而已。
    Livid
        28
    Livid  
    MOD
       2014-07-09 23:43:29 +08:00   ❤️ 1
    @yangqi V2EX 的 UI 和很多其他软件的不同就是,我们一直在尽量从 UI 上拿掉那些没有意义的东西。

    垃圾内容就应该彻底不要有任何曝光,这种时候为它放一个按钮,纯粹是浪费所有人的时间。
    yangqi
        29
    yangqi  
       2014-07-09 23:52:02 +08:00
    @Livid 采不采纳是你的自由,大家的建议就一个目的,让被删或者被隐藏的帖子至少有个提示。

    而且二楼内容是不是垃圾内容这个个人看法不一样的,我觉得只是歪楼了而已,不算垃圾啊。如果任何人的内容都可以被删除或者隐藏,只是基于管理员个人的喜好和判断的话,对于社区来说绝对不是好事。
    Livid
        30
    Livid  
    MOD
       2014-07-09 23:56:05 +08:00
    Livid
        31
    Livid  
    MOD
       2014-07-09 23:56:42 +08:00
    @yangqi 如果对 troll 太善良,最后损失的是整个社区的氛围。
    kqz901002
        32
    kqz901002  
       2014-07-09 23:58:19 +08:00   ❤️ 1
    @yangqi Livid is God...
    shakoon
        33
    shakoon  
       2014-07-10 00:02:29 +08:00
    原来这里除了站长还有其他管理员啊,我一直以为就一个人
    mikuazusa
        34
    mikuazusa  
       2014-07-10 00:10:55 +08:00
    不能忽略这里确实有个BUG...
    正常逻辑应该是Block之后用户见到的回复数量还是显示出来的数量而不是包含被block了的数量吧?
    起码单纯地从用户的角度说,看到了一个错误的数字可能会导致更多的误解...@Livid
    Livid
        35
    Livid  
    MOD
       2014-07-10 00:13:40 +08:00
    @mikuazusa 那我希望大家能够有个默契就是,如果在 V2EX 看到某些楼层没显示出来,那么只有几种可能就是:

    - 那个人被 block 了
    - 那层楼是纯粹的不需要关注的无意义信息

    如果这个地方动态计算的话,造成的后果就是每个人看到的楼层数都不一样,因为每个人的 block 列表不一样。
    yfdyh000
        36
    yfdyh000  
       2014-07-10 00:13:41 +08:00
    @Livid 那么把隐藏的内容从回复总数中减掉吧,反正没人看得见。但既然不想写多余的代码,干脆直接把回复总数和“直到 ...”拿掉吧,反正右侧有序号,似乎“没有意义”。

    现在上面写着“33 回复”,下面却只有32个回复,就好像用户不识数一样,绝对不是良好的设计。
    Livid
        37
    Livid  
    MOD
       2014-07-10 00:15:13 +08:00
    @yfdyh000 我们同时回复了,见我 35 楼的答复。

    我不希望造成每个人看到的楼层数不一样,所以这个地方不会改。
    yangqi
        38
    yangqi  
       2014-07-10 00:20:00 +08:00
    @Livid 最简单的就是加一句话,“此楼已被隐藏(Block)之类的”。本身一层楼隐藏就有多种可能,被隐藏没有提示肯定会让人迷惑。

    看了这个贴的肯定都知道怎么回事了,但没看到的呢?新用户呢?
    yfdyh000
        39
    yfdyh000  
       2014-07-10 00:24:50 +08:00
    @Livid 用户真的该花费这种学习成本吗。RTFM?但这连手册都没有呢。
    如果真的希望保持一致,那么:右侧的楼层号目前是显示序号,而不是真正的序号,这样真的好吗,讨论指向可能出现错位。如果那是真正的序号,这个问题也将有所缓解。

    总之,不太满意这种略显诡异的设计,但如果站长坚持,只能。。。
    Livid
        40
    Livid  
    MOD
       2014-07-10 00:32:00 +08:00
    @yangqi 人性就是,如果你在那里放一行字,说“这里被隐藏了”,然后现实是,会有更多的人去点。然后点开一看,毫无意义。

    这种设计就是在浪费所有人的时间。
    qiongqi
        41
    qiongqi  
    OP
       2014-07-10 00:32:56 +08:00
    @Livid 抱歉,我刚看到的时候,下意识的就说是个bug,确实不谨慎。
    之前浏览的时候没有注意过楼号,只是顺着浏览的,这次是因为自己提问,看到回复比较敏感。
    最近写了一堆phpunit的东西测自己新写的功能,有一个测到的bug就是删spam内容后,计数表内没有-1,所以就下意识的以为在v2ex遇到了同样的bug了,没有任何幸灾乐祸的意思。。
    yangqi
        42
    yangqi  
       2014-07-10 00:34:13 +08:00
    @Livid 我说的是只有提示,不加点开的按钮啊。既然隐藏了,加个点开的按钮确实没必要。
    shiniv
        43
    shiniv  
       2014-07-10 00:34:14 +08:00
    话说 跟话题扯的有点远了把- -!
    yfdyh000
        44
    yfdyh000  
       2014-07-10 00:36:14 +08:00   ❤️ 1
    @qiongqi 只要网站没有禁止索引,通常来说这都没有问题,哪怕它是个孤岛页面。就如同很多因被索引而泄漏数据的案例一样,通常不认为这是蜘蛛的错,信息安全是网站的责任。
    另外,Google等蜘蛛估计也会猜测连续的索引参数,例子: http://webmasters.stackexchange.com/questions/25560/does-the-google-crawler-really-guess-url-patterns-and-index-pages-that-were-neve
    Livid
        45
    Livid  
    MOD
       2014-07-10 00:48:30 +08:00 via iPhone   ❤️ 1
    以后大家在面试产品设计人员的时候,可以把这个帖子作为一个案例让被面试者谈谈自己的想法。

    这是一个没有答案的开放问题。

    我所说的,可能全是错的。
    abscon
        46
    abscon  
       2014-07-10 05:44:00 +08:00 via Android
    @Livid 可以考虑放个“我偏要看”的功能,但是要扣钱,扣很多钱。
    ine181x
        47
    ine181x  
       2014-07-10 07:36:24 +08:00 via iPhone
    同意 @livid 的设计 遵从所谓的用户习惯和完美的交互就不会有现在的v2ex网站了
    riophae
        48
    riophae  
       2014-07-10 07:45:12 +08:00
    我同意 @Livid 的设计. 允许用户去查看被折叠的消息纯粹是浪费时间.
    因为很多人都有类似 "偷窥" 的癖好, 想要看看那些一般情况下看不到的东西. 所以只要允许用户查看, 那么一定会有很多很多用户故意去点的. 这真的浪费时间.
    a154312237
        49
    a154312237  
       2014-07-10 08:08:24 +08:00
    彻底歪了...
    alexkh
        50
    alexkh  
       2014-07-10 09:15:00 +08:00
    @qiongqi 不会发现。除非站长通过各种方式将这个页面展示出来,否则将永远不会被发现。
    搜索引擎也面临这个难题,所以提供了sitemap等多种形式,去接触这些孤岛页面。
    Shieffan
        51
    Shieffan  
       2014-07-10 09:20:53 +08:00
    我也不知道2楼是谁 --
    decken
        52
    decken  
       2014-07-10 09:25:15 +08:00
    @riophae 每次我都会点知乎的折叠, 神回复的聚居地. 躺枪了
    belin520
        53
    belin520  
       2014-07-10 09:28:00 +08:00
    楼歪了
    (我会不会被block掉?)
    jsjscool
        54
    jsjscool  
       2014-07-10 09:52:52 +08:00
    @livid 的观点我再赞同不过,如果为了一些花活功能对UI做大改造,完全就是扯淡。
    就好比在网站加个天气显示,加个时钟。用户是觉得好啊,多方便。加了之后其实没多大用(只是举个例子)
    dong3580
        55
    dong3580  
       2014-07-10 09:56:43 +08:00   ❤️ 1
    @qiongqi
    这样我可不可以理解你的页面相当于查询数据库,每个页面对应id号就是查询标识。
    如果专门做该站的爬虫的话,我会可能根据大略规律爬出来,那么你这个555页面数据也出来的。
    大型搜索引擎应该对常用的链接形式都有关注吧?感觉可以出来的样式。
    我之前见到一个简单的网站,有个页面没有任何链接,但是在百度上搜这个网站名的时候出来的正是这个页面。
    dasher
        56
    dasher  
       2014-07-10 10:44:17 +08:00   ❤️ 1
    这是livid的论坛,充斥着其自己的意志以及权力。如果不喜欢其人的做事方式,或许也只能无视或者离开。
    saybye
        57
    saybye  
       2014-07-10 10:45:42 +08:00
    歪了。。。
    Livid
        59
    Livid  
    MOD
       2014-07-10 11:38:15 +08:00
    @dasher 你这句话已经没有什么新意了,我听过无数遍了,你们能不能有点创意?
    imn1
        60
    imn1  
       2014-07-10 12:05:09 +08:00
    @Livid 2楼结合LZ头像倒是很正常的
    这个适合私信PM,其实我现在还不知道V2EX怎么发PM?
    tomnee
        61
    tomnee  
       2014-07-10 12:40:14 +08:00 via Android
    @Livid 你实在是很有趣. dasher这个账号已经登陆不上去了。你的行为正好应证了我所说的。看不出我哪里有用秽语侮辱你,本身对你看法很中性。现在算是明白为什么有人要黑你。随便封号,就是你所谓做有趣的事情么。你技术能力和对其的态度让人向往,你的这种小心眼偏执不会让人觉得难相处么?
    Livid
        62
    Livid  
    MOD
       2014-07-10 12:43:51 +08:00
    @tomnee 你要黑的话,应该找个媒体,写点更长的,有逻辑的东西来狠狠黑。坚持黑,黑到有人给你钱为止。
    Livid
        63
    Livid  
    MOD
       2014-07-10 12:47:56 +08:00
    @tomnee 连黑我都要专门注册一个小号,这种玻璃心还想能黑到人?等你工作几年你再回来看你在这里说的这些话吧。
    imn1
        64
    imn1  
       2014-07-10 12:57:01 +08:00   ❤️ 1
    我觉得搜索引擎理论上是能爬都爬的,只是在遇到黑白名单才“特殊”处理,至于怎么处理还是爬虫自己定的准则,一般情况下,爬了而不发布或者遇到黑名单就不爬
    peartail
        65
    peartail  
       2014-07-10 13:04:47 +08:00 via iPad   ❤️ 1
    您所说的“孤岛”,搜索引擎用常规方法是找不到的。

    但有很多非常规方法可以帮助搜索引擎发现这个链接,例如,把用户浏览器里的网址发回给搜索引擎。这昂没如果用户访问了这个孤岛,搜索引擎也知道了这个孤岛的存在。
    tomnee
        66
    tomnee  
       2014-07-10 13:19:26 +08:00 via Android
    @Livid …… 你怎么又在印证我所说的。我真没想黑你,你不值得我去所谓的黑。看把你气的。到底是谁玻璃心? 专门注册?那个号是上个月注册的。不要逃避话题好吗?因为一句话你看着不爽封号是事实。得,还真是不用交流了。您去做您的事吧。我真没那么无聊专门去黑你。还什么写文章,真说的出口。你都快30的人了,怎么这么沉不住气?说些有反对性质的话就是黑你?你也太以自己为中心了。你要不要在你所有看到的资料上加一个过滤器?抱歉楼主,污染了你的贴。
    Livid
        67
    Livid  
    MOD
       2014-07-10 13:27:01 +08:00
    @tomnee 那个账号的第一个回复就是上来说这么一句,你那么有种的话怎么不直接用你的大号发呢?
    tomnee
        68
    tomnee  
       2014-07-10 13:44:06 +08:00 via Android
    @Livid 随机登罢了,没有您有种。您可完全封掉我。好了,真没必要争论了,我的原意只是觉得你与会员讨论的语气不怎么好,不知道你这么有攻击性。我没有兴趣去专门指责你。我也只是评论罢了。您也不用继续含沙射影发贴发推。欣赏您审慎对产品的态度。只是咱们别在歪楼了。去做您有趣的事吧,别浪费时间在回帖上面。天热,注意消暑 :)
    mkeith
        69
    mkeith  
       2014-07-10 14:54:40 +08:00   ❤️ 2
    GFW也是这么想的,帮我们Block了好多的东西.
    ctsed
        70
    ctsed  
       2014-07-10 15:04:01 +08:00
    如果不喜欢其人的做事方式,或许也只能无视或者离开。
    按这个逻辑来看行动,这哪里是黑,明明是真爱啊 233
    mhycy
        71
    mhycy  
       2014-07-10 15:25:25 +08:00
    只能说任何一个网络社区都是管理员的社区。。。。
    有谁反对么?请给出反例~
    oldcai
        72
    oldcai  
       2014-07-10 21:25:49 +08:00
    @Livid Some people's idea of free speech is that they are free to say what they like, but if anyone says anything back, that is an outrage.
    —— Winston Churchill
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   998 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 18:49 · PVG 02:49 · LAX 10:49 · JFK 13:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.