V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  sciooga  ›  全部回复第 1 页 / 共 44 页
回复总数  870
1  2  3  4  5  6  7  8  9  10 ... 44  
@Livid 站长,我向您再次诚恳的道歉,实在不好意思,由于我的问题带来了一些烦恼,目前确认不会对 V 站产生额外的请求了。
@air00dd 先看看代码吧,好吗?你在几个主题内提到扩展会上传 cookie 到服务器,这很容易误导,这个行为请找到实质性的证据,否则请不要轻易推测,我可以保证从来没有过这样的行为。

因为在外出差,跟进得慢一些,有什么质疑可以提出我看到了都会回复
@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
@ye4241 #22 不好意思,已经在动车上了,https://vdaily.huguotao.com/api/topic/task 这个接口是返回需要爬取的主题 id 了,我现在看了已经是停止了,浏览记录的问题应该不是一直在产生吧?如果一直在产生确实很奇怪
[项目地址]/blob/master/spider/index.js#L184

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

目前这部分代码只会请求我们的服务器,服务器返回的是空值,所以不会请求 V 站了,后续需要通过更新扩展移除掉这些请求


@Xianmua 上面的朋友说得没错,请求会发到我们服务器申请新的任务但是任务一直返回空,所以不会再爬取历史数据
@Livid https://github.com/sciooga/v2ex-plus/blob/master/spider/index.js#L184

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

目前这部分代码只会请求我们的服务器,服务器返回的是空值,所以不会请求 V 站了,后续需要通过更新扩展移除掉这些请求
关于翻页 502 ,我补充一点,vDaily 功能上线是近期,之前我遇到时也查过 V 站以前的主题,一年以前就有反馈 /t/857753
@ye4241 #10
@luckykev1n #12

是否会上传 cookie 请不要推测,我已经在我的主题内说明了,你看到的表现是获取历史主题导致的。
@ZeroClover #16 爬虫不在我服务器上,用用户网络是因为维护爬虫的登录态比较麻烦(数年前 1.0 就是这样实现的),并不是绕过 IP 限制,V 站每天更新的主题数量并不多。
@ZeroClover #7
@jas0n2k #9

两位提到了开源是否让我脱“罪”的问题,也包括之前主题的 OP 也说到分布式爬虫存在的问题。

我认为最大的问题在于没有明确告知用户该功能的开启,这个功能是参考 京价保 https://github.com/sunoj/jjb 的历史价格实现的(无意引火),用户浏览商品时会提交当前商品的价格和优惠信息,V2EX Plus 扩展内参考实现了这个功能,同时为了补全历史数据增加了爬取历史数据的功能。
@kingfalse #12 你好,需要微博域名权限唯一做的是在 header 增加 referer ,因为微博已经开启了防盗链,只有加上 referer ,v 站内历史主题发布的微博图片才能正常显示。

https://github.com/sciooga/v2ex-plus/blob/master/manifest.json#L65
https://github.com/sciooga/v2ex-plus/blob/master/rules.json

扩展是否可以爬取微博?项目内没有对应的代码,爬取微博的难度也比较大,在我看来真要爬取换个途径可能更简单
@ZeroClover #7 针对你反馈的亮点,我解释一下

1. 远超最初描述之外的事情,这个我不清楚该这么定义,功能更新有通知(没告知默认开启是我们的问题),选项页有介绍以及单独的开关,后续的功能将默认关闭,按用户喜好开启。
2. 远程下发命令(或者说主题 id 更明确)仅限于获取某个 v 站的主题数据,并非“肉鸡”概念,也做不到除了获取一个主题数据之外的操作。
@goophy #8 你好 pull_once 是 V 站自己的接口每隔一段时间访问一次,并不是扩展行为
另外,vDaily 除了扩展内的推荐,还有机器人发送的周报比如这一期 https://www.v2ex.com/t/939837 ,如果大家反感这样的行为,我们也会停止。
@zyronon #3 因为你浏览了不止一个主题,每个主题的 tab 标签页还在的情况下会有额外的请求,但是你看的到的请求也不意味会爬取更多的数据(以前是 70% 以上返回空任务,现在是 100% 返回空任务),你看看会不会导致新的发向 V 站的请求就知道了
@iPhone11 #1 下面是源码,抱歉之前将 30 秒记错为 60 秒了,是你打开主题后会有最多额外 3 个请求,如果看了十秒就关闭,不会有额外请求,如果你停留超过 90 秒以上,最多可能会有 3 个额外请求
https://github.com/sciooga/v2ex-plus/blob/master/spider/index.js#L160
借楼一下,我是扩展作者,针对这个事情专门发了个主题来解释说明 /t/939852

另外这是个非盈利项目,大家也是讲道理的开发,站长提出要求之前我们就已经停止了历史主题爬取了,搜集爬虫的 Request Headers 可能很难分辨是否是扩展的请求,所以还是最好的方式也是我们来关闭,后续扩展会永久关闭历史主题的爬取功能。
按照 OP 的要求,另开主题进行说明解释了 /t/939852
@Livid #164 实在是抱歉,目前已经关闭了历史主题的爬取,以后也不会开启

goAccess 中的日志
/api/topic/info?task=undefined 为当前浏览主题的数据提交,不产生额外请求
/api/topic/info?task=[:id] 为历史主题的数据提交,会产生额外的请求
/api/topic/task 为获取历史主题的爬取任务,这个是我们可以控制的,并且请求很多,但是大量返回的是空任务(之前 70% 现在停止了),而且另外的 30% 也要取决于是否有较长时间未更新数据的主题
@Livid #156 逻辑并不是这样的,是用户浏览一个主题的行为才会有后续的爬取操作,如果用户一直不浏览主题那就不会有任何额外的请求产生(是指爬取数据的请求,签到、检查未读消息除外),用户浏览的主题多才会导致爬取的内容多,然后历史主题的下发是用户侧请求服务器的,目前关闭的是历史主题的下发。

然后这个功能同样是拥有独立的开关的,用户关闭 vDaily 后,既不会有推荐主题也不会有额外的爬取动作
1  2  3  4  5  6  7  8  9  10 ... 44  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5289 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 09:38 · PVG 17:38 · LAX 02:38 · JFK 05:38
Developed with CodeLauncher
♥ Do have faith in what you're doing.