随机使用不同代理和用户代理的智能屏幕抓取?

Thi*_*ode 8 python proxy screen-scraping

我想从http://abc.com/view_page.aspx?ID=下载几个HTML页面. 该ID来自不同数字的数组.

我有兴趣访问此URL的多个实例,并使用不同的代理IP /端口将文件保存为[ID] .HTML.

我想使用不同的用户代理,我想在每次下载之前随机化等待时间.

这样做的最佳方式是什么?urllib2的?pycURL?卷曲?你喜欢什么样的手头任务?

请指教.多谢你们!

hoj*_*oju 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())
Run Code Online (Sandbox Code Playgroud)