V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  ClericPy  ›  全部回复第 80 页 / 共 137 页
回复总数  2733
1 ... 76  77  78  79  80  81  82  83  84  85 ... 137  
2020 年 4 月 24 日
回复了 ClericPy 创建的主题 问与答 微软 To Do 导入 todoist 的功能是下线了么
@wangzp0303 #1 你说的是 wunderlist
2020 年 4 月 24 日
回复了 v2dev 创建的主题 程序员 V 友们有没有防止灰产爬虫的方法?
反爬虫就像 CSGO 的反作弊, 只要是免费的, 就有一群人本着 "学习" 的目的来尝试, 每次进游戏看到一群小号就烦
如果整个网站在 Q 外就好了... 有些人还是隔离起来比较放心, 来逛 V2 很大程度也是这里曾经也是净土
2020 年 4 月 24 日
回复了 ByteCat 创建的主题 Python Python 爬虫如何爬取动态网页数据?
@uti6770werty #15

几个问题简单回答下:

1. 代理池可以考虑使用 pacfile 的方式 "--proxy-pac-url", 但是 pac 模式不支持 Headless, 所以这个不可取; Chrome 本身不是为爬虫准备的, 所以挂代理这方面想动态的话, 我这边用的有两种方案: 一种是在 upstream 网关那层做负载均衡来不断变换动态 IP(比如用稍微专业点的代理工具, 当时用的 cow 忘了带不带这功能了) 使所有请求挂同一个代理, 该代理则负责负载均衡

2. cdp 起一个守护进程就可以了, 也就是在执行 Chrome 的时候带上 "--remote-debugging-port" 参数, 它内部就启动了一个 http/ws 服务方便调试, 挂代理也就是 "--proxy-server" 这个参数负责, 每个代理启动一个进程其实开销不算太大, 注意下同一个 host 只能建立 6 个连接那个点就好了

3. 想只启动一个 chrome 实例, 用 IP 池轮询的话, 目前没有原生的实现, 要么借助 chrome 扩展, 要么像 1 里说的挂一个动态代理. 如果找到更好的方法, 求告知...

至于 E 文不太好... 其实你看不懂的英文很大几率是写英文的那人语法不行, 一般好的文档单词都是言简意赅的...

可以参考下 [深入浅出 CDP (Chrome DevTools Protocol) - Clericpy's Blog]( https://clericpy.github.io/blog/posts/20200114151137/)
2020 年 4 月 23 日
回复了 fangwenxue 创建的主题 问与答 requests header cookie
@fangwenxue #3 怀疑是服务端不认啊...

用 httpbin 写的最小测试代码

```python
# -*- coding: utf-8 -*-

import requests

r = requests.get('http://httpbin.org/get', cookies={'abc': '1'})
print(r.json())
# {'args': {}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Cookie': 'abc=1', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.23.0', 'X-Amzn-Trace-Id': 'Root=1-5ea196fd-2ad50b072b6c252274cf4b3c'}, 'origin': '119.181.173.152', 'url': 'http://httpbin.org/get'}
r = requests.get('http://httpbin.org/get', headers={'Cookie': 'abc=1'})
print(r.json())
# {'args': {}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Cookie': 'abc=1', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.23.0', 'X-Amzn-Trace-Id': 'Root=1-5ea19718-fd0b6b6acd989d0e3af1604a'}, 'origin': '119.181.173.152', 'url': 'http://httpbin.org/get'}
```
2020 年 4 月 23 日
回复了 fangwenxue 创建的主题 问与答 requests header cookie
代码这是删了很多关键东西啊...

把最小测试代码发上来不好么, 反正有 httpbin

就目前所看到的来说, 我正常使用不会用 setdefault, 而是直接 kwargs['headers'] = self.headers

毕竟我也不知道你的 kwargs 是哪儿创建的
2020 年 4 月 23 日
回复了 ByteCat 创建的主题 Python Python 爬虫如何爬取动态网页数据?
@uti6770werty #13 cdp 就是官方提供了一套 API 协议, 可以遵循它的方式 (HTTP / Websocket) 通过 debug port 调试通过调试模式启动的 Blink 内核的浏览器 (Chrome chronium 什么的), 调试的权限基本都集中在平时咱们用的 Devtools 里面那些

你这么理解不算偏, 其实就是给用户开放了个接口控制 Devtools, 熟悉 JS 的话更方便一些, 有时候我还朝 tab 里注入 jQuery vue.js 什么的乱七八糟的.

CDP 文档: https://chromedevtools.github.io/devtools-protocol/

看一眼文档就大致知道了, https://github.com/ClericPy/ichrome 之前自己摸索的时候也写成了代码, 可以稍微看一下 Tab 的部分就明白了, 建立 Devtools 的 ws, 对它 send 指令或者 recv 事件或消息. 实际使用时候最操心的反而是并发控制和僵尸进程的问题更多一点...
2020 年 4 月 23 日
回复了 JCZ2MkKb5S8ZX9pq 创建的主题 问与答 Windows 有快速息屏的快捷键吗?
以前用的 autohotkey 写的 lock, 鼠标一动就得输入密码, 不输入就继续黑屏. 忘了密码就 ctrl alt del 找到那个 exe 杀死就行了... 后来感觉没什么用就没继续用下去... 因为笔记本合上盖子我这默认就是无操作... 至于合上盖子用独立显示器... 直接用手关显示器.........
2020 年 4 月 23 日
回复了 toboy 创建的主题 问与答 中年男人的心态,你对了几条?? zz
这标题... 有内味了
2020 年 4 月 23 日
回复了 ByteCat 创建的主题 Python Python 爬虫如何爬取动态网页数据?
一般浏览器打开 Devtools 抓包就够了吧...

至于现在很多人推 Selenium 是因为他们看的教程只提到了这个, 实际上多数情况用 Google 原生的 cdp (HTTP+Websocket) 就够了, Puppeteer 有个 Python 版叫 pyppeteer 就是操作 cdp 的, 功能和 selenium 比只局限在 Devtools 层面, 但是有 js 已经足够了, 平时爬虫来说根本用不到 selenium 更底层的 driver 层面接口

当然, 更无脑的用法也可以 --dump-dom, 反正我是习惯 cdp 了, 自己把接口写写套上就能用
2020 年 4 月 23 日
回复了 akbuger 创建的主题 问与答 身体问题,请教一下
听着像痛风的那个结晶, 但那个疼痛程度强的多, 有的关节炎风湿病什么的也有类似症状, 要不去虎扑或者贴吧问问, 那边人更多

有病不去医院是怕扁鹊三连么.......
2020 年 4 月 22 日
回复了 jin7 创建的主题 Python Python 协程, 我这样写有没有问题, 通过字符串调用函数
上面口误, 看了下代码好像是责任链... 溜了散步去了
2020 年 4 月 22 日
回复了 jin7 创建的主题 Python Python 协程, 我这样写有没有问题, 通过字符串调用函数
看起来像策略模式
2020 年 4 月 22 日
回复了 jin7 创建的主题 Python Python 协程, 我这样写有没有问题, 通过字符串调用函数
前期没有大问题, 后期可能会有小问题

从设计角度说, 可以搞一个类专门放方法, 然后使用的时候, getattr(obj, 'string')()
2020 年 4 月 22 日
回复了 sichuyoudang312 创建的主题 Python 关于 Python 后端验证参数 的界限
我以前做的和 Fastapi 里用 pydantic 实现的差不多, 现在用的 Fastapi.......
2020 年 4 月 22 日
回复了 OnlyO 创建的主题 Python supervisor 和 mysql 开机启动问题
好久不用 supervisor 了, 现在用着 systemd 直接一个 After=XXX 就做到串行启动了

如果非要 supervisor, 以前我是写了个 while 循环不断 sleep 检查是否可连接, 后来受不了才改 systemd 的... 随手搜了下说用 Event 什么的, 以前没试过不确定怎么样
别的语言我也就不说什么了, Python 的话, 90%时间用在程序设计上了, coding 的时候遵循 PEP8 并不会多花多少时间
2020 年 4 月 20 日
回复了 xiaoming1992 创建的主题 Python Python 返回 self 时类型应该怎么写?
@zhoudaiyu #14 泛型
2020 年 4 月 20 日
回复了 ansenJ 创建的主题 职场话题 各位大佬都是如何燃起对工作的热爱?
我猜大佬可以选热爱的工作, 小佬才会委屈自己
@qbhy #4 从设计层面就只能看别人的牌就可以了, 省了交换手机的过程, 毕竟有的人洁癖也有的人反洁癖...
1 ... 76  77  78  79  80  81  82  83  84  85 ... 137  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4245 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 43ms · UTC 04:12 · PVG 12:12 · LAX 21:12 · JFK 00:12
♥ Do have faith in what you're doing.