我想从 http://abc.com/view_page.aspx?ID=下载几个HTML页面该ID来自不同数字的数组。
我有兴趣访问此URL的多个实例,并使用不同的代理IP /端口将文件另存为[ID] .HTML。
我想使用不同的用户代理,我想在每次下载之前随机化等待时间。
这样做的最佳方式是什么? urllib2的? pycURL?卷曲?你更喜欢手头的任务?
请指教。谢谢你们!
答案 0 :(得分:5)
使用类似:
import urllib2
import time
import random
MAX_WAIT = 5
ids = ...
agents = ...
proxies = ...
for id in ids:
url = 'http://abc.com/view_page.aspx?ID=%d' % id
opener = urllib2.build_opener(urllib2.ProxyHandler({'http' : proxies[0]}))
html = opener.open(urllib2.Request(url, None, {'User-agent': agents[0]})).read()
open('%d.html' % id, 'w').write(html)
agents.append(agents.pop()) # cycle
proxies.append(proxies.pop())
time.sleep(MAX_WAIT*random.random())
答案 1 :(得分:2)
使用unix工具wget
。它可以选择指定自定义用户代理和每次检索页面之间的延迟。
您可以查看wget(1) man page了解详情。
答案 2 :(得分:2)
如果您不想使用开放代理,请结帐ProxyMesh,为您进行IP轮换/随机化。