V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  LeeReamond  ›  全部回复第 74 页 / 共 89 页
回复总数  1761
1 ... 70  71  72  73  74  75  76  77  78  79 ... 89  
@delpo 感谢,默认 socket 都提示不让重复绑定,没写过类似的应用。单进程内 io 复用我觉得挺好理解的,多进程间绑定的话流不就乱了么,不知道数据的哪部分叫谁取走了。
@cubecube 我点的赞,我又不明白,看一楼回复还说你可以抓包验证,就以为是正确答案了。不过现在说来,似乎抓发出的包也不能分析路由路线。。
@delpo 所以如果我没理解错的话,你的意思是断开连接后系统资源并不立即释放,默认设置要一分钟以后才能释放?另外 timewait 的状态下端口可以绑定新的 socket,这个我觉得也很矛盾
@toaruScar 感谢回复,另外想到一个问题是,tcp 要四次分手,可靠地注销掉双方机器上开辟出的资源,那如果一方完全没有回复,发出去的包全都石沉大海了,也就没办法四次分手,这种情况下另一方会直接释放资源吗,这是否意味着不可靠
@TongNianShanHe 确实,大部分时候作为开发者都是不希望自己数据被爬取的,写博客之类的当然随便,商业应用通常贵在数据
@alect nat 模式下母鸡没法访问小鸡吧?
@Dreax 看起来很吊,然而都是国内用户,他这个没意义啊
@3dwelcome 隐藏浏览器怎么理解,与无头有何不同?百度没什么有效信息
@pursuer 因为发在 py 专区,py 似乎是没有标准库实现,要跨进程调用的话似乎就不那么优雅了
@renmu123 不太容易实现,打开 A 页面的同时需要根据鉴定是否为爬虫,决定是否返回正确信息,此时 js 脚本刚刚加载。想实现只能保留 B 页面执行的结果,并让这个结果不随页面刷新改动,可能整个网站都要用 ajax 异步加载的方式才能做,成本太高了。
@jim9606 简单查了一下 pow,感觉是个挺有意思的机制。不过似乎不太好实现,一个简单的方法是后端找一个随机数,生成 hash,告诉前端 hash 的结果和随机数大概的生成范围,让前端用穷举法算出原始数值。这种实现有两个问题,一个是前端算力不同,不同用户访问同一个网页可能有的人 0.5 秒就算完了,有的人 5 秒钟也算不完,比较影响体验。

再一个是这种没法在单次连接里验证,需要发起两次连接。后端需要处理多连接状态同步的问题,其实也提高了后端成本,感觉不是很划算。不过应该是确实能有效提高爬虫成本,是一个有意思的思路
@opengps
@ClericPy 理论上确实是想实现“让别人发现我正在提供服务”这个功能。比如设计一个简单的使用场景,在一个多进程基于 tcp 的通信中,我现在有一个固定的中心服务器,比如绑定到 center.service.com:443,我想实现的效果是每个服务器,即使在不同的机器中,只需要运行 server = center.connect()就可以告知目前在线的所有人连接我这个服务的方式。

理论上几种做法,一种是由于大家都和 center 有连接,所有流量都经由 center 代理,这种在多节点通信情况下效率太低,不作考虑。另一种是由服务端上线时自己设定好,比如 server = center.connect(my_ip='192.168.0.100'),然后绑定服务到这个 IP,这个感觉又太麻烦了,理想的情况下就是 server 不用进行任何设置直接启动,然后自动绑定 0.0.0.0 的某个端口,并且自动获取到其他人访问哪个 IP 可以经由 0.0.0.0 转接。

可能说的不太清楚,需求比较怪,两位见谅。
2021-04-04 00:08:18 +08:00
回复了 imn1 创建的主题 Python 现在爬虫对付脚本构造的网页还有什么方法,除了 selenium
@ysmood 学到了一个好用的反爬方法,感谢
2021-04-03 17:45:31 +08:00
回复了 imn1 创建的主题 Python 现在爬虫对付脚本构造的网页还有什么方法,除了 selenium
爬虫爬的好,牢饭吃到饱。没什么意义,现在框架写出的网站都是前端渲染前端路由,不跑无头你能拿到什么数据。然而只要跑无头基本就获得与正常用户一样的使用体验,所以比起爬虫我倒是更关心如何反爬。。
@matrix67 因为 python 本身慢,再加上没有 switchcase,这种逻辑比原生可能慢个几百倍。有重复运算的部分很容易瓶颈,确实需要找优化方案
@matrix67 他是 python,所以实际不是表驱动,更像是 mapdriven,哪个快不好说,大概率更慢
2021-04-01 19:36:42 +08:00
回复了 LeeReamond 创建的主题 问与答 TCP 保证传输可靠是否是伪命题?
@Aliencn
@wanguorui123 感谢,看了一下资料,总结来说问题确实存在,而 TCP 也确实有 hash 校验选项,只不过默认不开启。Linux 内核提供了 tcp md5 的功能,但手册语焉不详,需要传入指定内存结构的结构体,导致类似 java 之类的语言里启用传输层的校验似乎比较困难。

解决方案的话,本身下层还有校验,我本人提问的时候也不觉得这是个高发情况,所以非关键业务可以忽略。特殊业务场景,可信网域的话可能有特殊需求,比如 tls 成本太高的话可以应用层自己实现,使用一些快速哈希之类的。
2021-04-01 00:45:29 +08:00
回复了 AceCandy 创建的主题 程序员 问一个关于无锁编程的问题
@bugmakerxs 硬件实现原子操作的指令一样而已,我不理解你所谓的本质一样是什么意思。有的锁需要切换内核态,与不需要切换的锁,本质相同吗?我不觉得
2021-04-01 00:41:41 +08:00
回复了 LeeReamond 创建的主题 问与答 一个 Python 计时器封装的问题
@volvo007 显然套函数需要先定义,再调用,写两行代码多于原先一行代码,这是其一。同时函数引入新的 scope,单独测试段落引起上下文定义缺失问题,这是其二,以上两点是否很难理解?
1 ... 70  71  72  73  74  75  76  77  78  79 ... 89  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2845 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 08:19 · PVG 16:19 · LAX 00:19 · JFK 03:19
Developed with CodeLauncher
♥ Do have faith in what you're doing.