新手尝试用 aiohttp 写了个爬虫

2020-12-31 23:52:51 +08:00
 nyxsonsleep

然后发现 aiohttp 不走系统代理,但是 requests 是走系统代理的。 求问怎么设置可以让 aiohttp 走系统代理呢?

3130 次点击
所在节点    Python
12 条回复
locoz
2021-01-01 00:52:54 +08:00
这其实是个锻炼自己看代码解决问题能力的好机会,requests 的代码很简单明了,你找到它的做法照抄一份用在 aiohttp 上就行了,不难的。

你看你这在 v2 上问,过了差不多一个小时了也得不到答案…而你要是自己会看代码,分分钟就完事了。
learningman
2021-01-01 01:01:18 +08:00
@locoz 要自己包装实现 CONNECT,好像也没那么简单。。。
locoz
2021-01-01 01:19:35 +08:00
@learningman #2 他这情况估计就是懒得设置代理而已,直接把读环境变量和注册表的那部分翻出来执行一下,然后传去填代理设置就好了。考虑复用的话就再简单封装个获取 session 对象的函数,不用搞那么复杂。(固定设备的话其实还有个邪道做法,直接用 Proxifier 让 Python 进程走代理...)
so1n
2021-01-01 01:41:32 +08:00
写爬虫不用 aiohttp 可以省很多烦恼
wangyanyansg
2021-01-01 11:26:42 +08:00
可以来我做的"技来技往 app”找个会爬虫的军师参谋来问问
Liyiw
2021-01-01 11:29:12 +08:00
abersheeran
2021-01-01 20:09:39 +08:00
@so1n 赞同,aiohttp 会有很多奇怪的问题。
baobab
2021-01-01 20:26:55 +08:00
@abersheeran 赞同,而且异步爬一个站点太快很容易被封 ip,这个坑走下去没完没了了。
abersheeran
2021-01-01 21:26:45 +08:00
@baobab 控制不了速度是你的问题不是异步爬虫的问题。
baobab
2021-01-01 22:24:28 +08:00
@abersheeran 求大神教我怎么控制速度
nyxsonsleep
2021-01-02 01:21:36 +08:00
@Liyiw 我是知道怎么设置 aiohttp 和 requests 的代理,但我不想设。我只是想他默认走系统代理
nyxsonsleep
2021-01-02 01:33:57 +08:00
@baobab 共用一个 session 可以设置参数控制连接数。另一个可以在 loop 循环中添加非异步 sleep 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/740797

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX