V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
V2EX  ›  V2EX

如果你在用一个叫做 V2EX Plus 的插件,我需要你的帮助

  •  5
     
  •   Livid · 2023-05-14 10:22:43 +08:00 · 17749 次点击
    这是一个创建于 591 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这件事情的上下文:

    https://www.v2ex.com/t/939486?p=1



    及我在第二页的回复:

    https://www.v2ex.com/t/939486?p=2

    我需要一些这个爬虫在执行分布式爬取任务时的样本,主要是 Request Headers 及其他特征。

    谢谢。
    39 条回复    2023-05-16 17:25:07 +08:00
    ZE3kr
        1
    ZE3kr  
       2023-05-14 10:48:47 +08:00   ❤️ 3
    表面上是爬取,实际上这个对于站长而言已经是 DDOS 了
    goophy
        2
    goophy  
       2023-05-14 11:05:33 +08:00   ❤️ 2
    without cookie:
    ```:Authority:
    v2ex.com
    :Method:
    GET
    :Path:
    /t/779533?p=1
    :Scheme:
    https
    Accept:
    */*
    Accept-Encoding:
    gzip, deflate, br
    Accept-Language:
    en,en-US;q=0.9,zh-CN;q=0.8,zh;q=0.7
    Cookie:
    ----- removed ------
    Referer:
    https://v2ex.com/t/939839
    Sec-Ch-Ua:
    "Google Chrome";v="113", "Chromium";v="113", "Not-A.Brand";v="24"
    Sec-Ch-Ua-Mobile:
    ?0
    Sec-Ch-Ua-Platform:
    "macOS"
    Sec-Fetch-Dest:
    empty
    Sec-Fetch-Mode:
    cors
    Sec-Fetch-Site:
    same-origin
    Sec-Gpc:
    1
    User-Agent:
    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36
    Version:
    1.0.1
    ```
    zyronon
        3
    zyronon  
       2023-05-14 11:12:55 +08:00   ❤️ 1
    # General

    Request URL: https://vdaily.huguotao.com/api/topic/task

    Request Method: GET

    Status Code: 200 OK

    Remote Address: [::1]:7890

    Referrer Policy: unsafe-url

    # Response Headers

    access-control-allow-credentials: true

    access-control-allow-origin: *

    Connection: keep-alive

    Content-Encoding: br

    Content-Type: application/json

    Date: Sun, 14 May 2023 03:10:16 GMT

    Server: nginx

    Transfer-Encoding: chunked

    Vary: Accept-Encoding

    # Request Headers

    Accept: */*

    Accept-Encoding: gzip, deflate, br

    Accept-Language: zh-CN,zh;q=0.9,tr;q=0.8

    Connection: keep-alive

    DNT: 1

    Host: vdaily.huguotao.com

    Origin: https://www.v2ex.com

    Referer: https://www.v2ex.com/t/939839

    sec-ch-ua: "Chromium";v="112", "Google Chrome";v="112", "Not:A-Brand";v="99"

    sec-ch-ua-mobile: ?0

    sec-ch-ua-platform: "Windows"

    Sec-Fetch-Dest: empty

    Sec-Fetch-Mode: cors

    Sec-Fetch-Site: cross-site

    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36

    version: 1.0.1

    响应:

    {"sign":"646050aa1b3e3ac3cf9c973f","id":781872,"page":1,"url":"/t/781872?p=1"}
    hamjin
        4
    hamjin  
       2023-05-14 11:14:54 +08:00   ❤️ 3
    zyronon
        5
    zyronon  
       2023-05-14 11:18:08 +08:00   ❤️ 1


    zyronon
        6
    zyronon  
       2023-05-14 11:19:18 +08:00
    没办法,只能传图了,请不要每个回复都 spamming....
    zyronon
        7
    zyronon  
       2023-05-14 11:23:52 +08:00   ❤️ 1
    1 、进入帖子详情后,会发起 /api/topic/task 这个请求,返回值是{"sign":"646052931b3e3ac3cf9cd9f3","id":785109,"page":1,"url":"/t/785109?p=1"}

    2 、根据上面返回值里面的 url 。去请求帖子

    3 、将帖子内容提交到 api/topic/info?task=hash 值,这个接口。提交的内容是:
    {"spiderTime":"2023-05-14T03:20:43.107Z","id":937772,"name":"求问:已有 HomeASSistant ,选什么智能家居终端设备好?","node":"问与答","author":"MFWT","avatar":"https://cdn.v2ex.com/avatar/e8fd/8801/595319_xlarge.png?m=1679882347","date":"2023-05-06T02:28:34.000Z","reply":26,"vote":0,"click":1235,"collect":22,"thank":0,"score":2155,"content":"<div class=\"markdown_body\"><h2>背景</h2>\n<p>软路由装了 HA ,而且全屋无压力 2.4G WiFi 覆盖,打算折腾下智能家居</p>\n<p>这台机器比较特殊,<strong>板载六串口(四个全功能+两个三针)</strong>,而且手头有一个吃灰的 MOXA NPort 5110 串口服务器,所以不管接入什么设备都比较方便</p>\n<p>题中的『终端设备』指的是<strong>被控设备</strong>,比如智能插座,智能门磁,智能温度传感器什么的。</p>\n<p>看过网上的选择,比较倾向于米家设备和博联。<br>\n 但是米家的话,不知道接入 HA 麻不麻烦(听说米家也开始封闭生态,比较难拿到 Key 了,不确定是不是真的)<br>\n 至于博联,似乎没有找到 HA 支持的设备( HA 是支持不少博联的设备,但是某宝一看,对上型号的不多) </p>\n<h2>问题</h2>\n<ol>\n<li>目前的话,推荐什么品牌的终端设备接入 HA 比较好?(最好是便宜些的,可选种类多些的)</li>\n<li>终端设备和 HA 用什么方式连接( WiFi ,Zigbee 还是蓝牙)比较好?(拒绝 433 ,因为我房间有 433 业余电台,而且 433 设备理论上也是违规的)</li>\n<li>有没有什么坑要避免的?</li>\n</ol>\n<p>谢谢</p>\n</div>","append":[],"replys":[]}
    zyronon
        8
    zyronon  
       2023-05-14 11:32:35 +08:00   ❤️ 2


    一直在请求。如图,7 分钟内请求了 23 次,差不多 20 秒请求一次
    sciooga
        9
    sciooga  
       2023-05-14 11:43:57 +08:00   ❤️ 1
    借楼一下,我是扩展作者,针对这个事情专门发了个主题来解释说明 /t/939852

    另外这是个非盈利项目,大家也是讲道理的开发,站长提出要求之前我们就已经停止了历史主题爬取了,搜集爬虫的 Request Headers 可能很难分辨是否是扩展的请求,所以还是最好的方式也是我们来关闭,后续扩展会永久关闭历史主题的爬取功能。
    ye4241
        10
    ye4241  
       2023-05-14 12:02:23 +08:00   ❤️ 2
    刚刚发现,这个插件似乎把 V2EX 的 cookie 上传到了服务器的,然后“最近查看过的主题”里面全是自己没看过的主题。。。

    关闭插件里面的不让 vDaily ,卸载插件是没有用的,必须要重新退出登录让老 cookie 失效才能真正不让他爬虫的。
    ryd994
        11
    ryd994  
       2023-05-14 12:07:52 +08:00
    @zyronon 你可以像楼上的一样,用 pastebin 。原始文本比截图更有效
    luckykev1n
        12
    luckykev1n  
       2023-05-14 12:08:18 +08:00   ❤️ 2
    @ye4241 直接上传 cookie 也泰裤辣
    ajaxgoldfish
        13
    ajaxgoldfish  
       2023-05-14 12:17:03 +08:00
    @sciooga #9 和站长好好沟通澄清下误会,我倒是感觉没什么
    sobigfish
        14
    sobigfish  
       2023-05-14 12:21:03 +08:00
    它用的是用户的浏览器,特征几乎不能判定吧,建议直接找 chrome 和 edge 商店吧-。-
    yolee599
        15
    yolee599  
       2023-05-14 12:28:55 +08:00 via Android   ❤️ 1
    在 V2EX 动小心思就是在挑衅程序员群体
    lower
        16
    lower  
       2023-05-14 12:34:31 +08:00   ❤️ 1
    这么多年了我才知道,头像下面那个进度条是活跃度信息啊,我一直是白的,还没注意到过……😂
    sciooga
        17
    sciooga  
       2023-05-14 12:35:54 +08:00
    @ye4241 #10
    @luckykev1n #12

    是否会上传 cookie 请不要推测,我已经在我的主题内说明了,你看到的表现是获取历史主题导致的。
    Livid
        18
    Livid  
    MOD
    OP
       2023-05-14 13:02:22 +08:00   ❤️ 1
    根据我刚才在虚拟机里的测试结果,只要停在 /t/ 页面上,就会一直从你的服务器上持续获取抓取任务,并不像你说的,至多获得额外的 3 个抓取任务。大家也可以来验证一下。

    屏蔽规则已经部署,可能会产生误伤,欢迎大家的反馈。
    SunsetShimmer
        19
    SunsetShimmer  
       2023-05-14 13:14:57 +08:00
    @Livid #18 使用 https://github.com/zyronon/v2ex-script 时,“弹框显示帖子正文和回复”功能触发 403 ,回复功能触发 403 。
    sciooga
        20
    sciooga  
       2023-05-14 13:17:21 +08:00 via iPhone
    @Livid https://github.com/sciooga/v2ex-plus/blob/master/spider/index.js#L184

    实在抱歉,我在动车上,检查了代码是我这里的判断出错了,times-- 变为负数后布尔值又变成 True 了,是我的问题

    目前这部分代码只会请求我们的服务器,服务器返回的是空值,所以不会请求 V 站了,后续需要通过更新扩展移除掉这些请求
    zyronon
        21
    zyronon  
       2023-05-14 13:30:53 +08:00
    @SunsetShimmer #19

    我是脚本作者,问题可以反馈到 git 上,我会去处理
    ye4241
        22
    ye4241  
       2023-05-14 13:42:23 +08:00
    @sciooga 这样子似乎也能说得通,但是我插件都卸载了,我刷新了好几次页面,他竟然还在产生新的浏览记录的样子。
    sciooga
        23
    sciooga  
       2023-05-14 14:14:08 +08:00
    @ye4241 #22 不好意思,已经在动车上了,https://vdaily.huguotao.com/api/topic/task 这个接口是返回需要爬取的主题 id 了,我现在看了已经是停止了,浏览记录的问题应该不是一直在产生吧?如果一直在产生确实很奇怪
    zyronon
        24
    zyronon  
       2023-05-14 14:15:21 +08:00
    @SunsetShimmer 可以正常使用了,站长更新了 WAF 规则了
    ClarkAbe
        25
    ClarkAbe  
       2023-05-14 19:00:28 +08:00 via Android   ❤️ 2
    这已经不是爬虫了吧...完全就是木马了...今天下发的是爬虫任务...那明天, 后天呢?
    genesislive
        26
    genesislive  
       2023-05-14 22:11:00 +08:00   ❤️ 1
    @ye4241 上传 cookie 就是木马了
    SekiBetu
        27
    SekiBetu  
       2023-05-14 22:29:29 +08:00
    这个不是要站长自己来解决吗,和脚本作者有啥关系,没有这个人创造这个脚本,V 站就不会被爬数据了吗?
    ksc010
        28
    ksc010  
       2023-05-15 00:17:06 +08:00   ❤️ 4
    @SekiBetu 问题不是用 用户的 cookie 爬取数据吗?
    8355
        29
    8355  
       2023-05-15 09:09:27 +08:00
    所以我建议大家还是在卸载插件后退出下登陆
    codingadog
        30
    codingadog  
       2023-05-15 09:23:50 +08:00   ❤️ 1
    @SekiBetu 偷别人帐号的 cookie 用来爬数据就不是偷了?
    ffkjjj
        31
    ffkjjj  
       2023-05-15 09:27:19 +08:00
    这个插件不知道什么情况下会自动启用 vDaily. 我关闭过 vDaily 两次, 都被自动启用了.
    因为我不喜欢在首页右侧出现 vDaliy 的相关主题列表, 我就关闭过这个功能. 后面发现 首页 vDaliy 列表又出现了, 一看设置, vDaliy 是开启的. 当时还以为记忆出现了偏差, 以为之前没关闭过 vDaliy. 然后又手动关闭了 vDaliy 一次. 今天看到这个主题, 又去看了眼设置, vDaliy 又被启用了...
    Ashore
        32
    Ashore  
       2023-05-15 09:49:52 +08:00
    @ffkjjj 云端控制开启?或者代码有 bug 。
    sciooga
        33
    sciooga  
       2023-05-15 10:41:38 +08:00 via iPhone   ❤️ 1
    @ffkjjj
    @Ashore

    这是每次更新后部分选项有可能会被重置的 bug 包括 vDaily
    https://github.com/sciooga/v2ex-plus/commit/b561ba6e0f93c043e1410e75c092043af675f72e

    这是之前一个选项页不能保存的 bug
    https://github.com/sciooga/v2ex-plus/commit/f44e40904e01e0834956659e16c54a99c4ab5386

    或者是网络不稳定选项同步到谷歌时延迟太大的 bug
    https://github.com/sciooga/v2ex-plus/commit/e347cf22b9ed8bf003f8366d3e847ccf7ac9fae9
    clikes
        34
    clikes  
       2023-05-15 14:31:28 +08:00   ❤️ 1
    我以前觉得 computer ethic 这门课不知所云,现在知道还是非常有意义的
    air00dd
        35
    air00dd  
       2023-05-15 18:31:58 +08:00   ❤️ 1
    @codingadog #30 他的逻辑是受害者有罪论,荡妇羞辱的伎俩。声称是用户裙子穿太短活该(网站安全不到位),反正都是要被其他人偷窥的,所以他偷窥就有理,用户还不能指责偷窥者行为
    air00dd
        36
    air00dd  
       2023-05-15 18:40:50 +08:00
    @clikes #33 很多粗制滥造的教学课程都一笔带过,特别忽视用户安全隐私、计算机论理学,从这个话题延伸开说,很多灰色产业链都是靠非法爬数据起家,对网站 DDOS 来进行敲诈也很泛滥。
    air00dd
        37
    air00dd  
       2023-05-15 18:49:52 +08:00
    @sciooga #17

    “刚刚发现,这个插件似乎把 V2EX 的 cookie 上传到了服务器的,然后“最近查看过的主题”里面全是自己没看过的主题。。。

    关闭插件里面的不让 vDaily ,卸载插件是没有用的,必须要重新退出登录让老 cookie 失效才能真正不让他爬虫的。”

    1 "必须退出登录停止爬虫“这里是有什么误解还是什么缓存问题?

    2 获取历史主题说实话挺恐怖的,就像自己家里突然多出了不认识的人。如果是市场扩展都可以举报 report abuse 的
    zhushu77777
        38
    zhushu77777  
       2023-05-15 19:24:32 +08:00 via iPhone
    可以帮我账号解封吗?我什么事都没做,莫名其妙封了
    enrolls
        39
    enrolls  
       2023-05-16 17:25:07 +08:00
    应该是不会有明显的特征。tampermonkey 下的 JS 脚本,基于浏览器用 js 来控制页面啊。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2793 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 00:27 · PVG 08:27 · LAX 16:27 · JFK 19:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.