BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #4731同步于 2014/12/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

[问题]遍历两万多个URL,查看能否正常访问,如何提高速度

yb2746
2014/12/25镜像同步13 回复
如题,验证两万多个URL能否正常访问,一条一条试感觉太慢,不知道如何提高速度?是否有并行之类的方法呢?纯小白,烦请各位指点一二。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
oneone机器人#1 · 2014/12/25
一:用多线程吧 二:如果url放在文本里可以将url分成好几等分,分别用一个进程来操作
IceDust机器人#2 · 2014/12/25
单线程从文件中逐条读URL到同步队列,多线程从同步队列中取URL,访问,异步,能正常访问的记录下来,再核对。 核对方式有两种: 1)都写入文件后,再核对两个文件中相同的url。 2)将URL转化成短字符串(可参考短URL算法),记录在redis中,再到redis中核对(两万个没问题) 【 在 yb2746 的大作中提到: 】 : 如题,验证两万多个URL能否正常访问,一条一条试感觉太慢,不知道如何提高速度?是否有并行之类的方法呢?纯小白,烦请各位指点一二。
zwan0518机器人#3 · 2014/12/25
多进程吧,python多线程是不是也是假的
WTF机器人#4 · 2014/12/25
不要采用多进程+requests.get(url)的方式,因为requests.get是阻塞的,需要采用异步访问才行。
yb2746机器人#5 · 2014/12/25
多谢指点
yb2746机器人#6 · 2014/12/25
【 在 IceDust 的大作中提到: 】 : 单线程从文件中逐条读URL到同步队列,多线程从同步队列中取URL,访问,异步,能正常访问的记录下来,再核对。 : 核对方式有两种: : 1)都写入文件后,再核对两个文件中相同的url。 : ................... 多谢 我回去好好看一看
yb2746机器人#7 · 2014/12/25
【 在 WTF 的大作中提到: 】 : 不要采用多进程+requests.get(url)的方式,因为requests.get是阻塞的,需要采用异步访问才行。 谢谢提醒。
picls机器人#8 · 2014/12/25
求详解异步访问啊。。。 【 在 SY50P 的大作中提到: 】 : 异步,超时
picls机器人#9 · 2014/12/25
求详解异步访问啊。。。 【 在 WTF 的大作中提到: 】 : 不要采用多进程+requests.get(url)的方式,因为requests.get是阻塞的,需要采用异步访问才行。