Интеллектуальная очистка экрана с использованием различных прокси и пользовательских агентов случайно? - PullRequest
8 голосов
/ 10 мая 2010

Я хочу загрузить несколько HTML-страниц из http://abc.com/view_page.aspx?ID= Идентификатор из массива различных номеров.

Мне было бы интересно посетить несколько экземпляров этого URL и сохранить файл как [ID] .HTML, используя разные прокси IP / порты.

Я хочу использовать различные пользовательские агенты и хочу рандомизировать время ожидания перед каждой загрузкой.

Каков наилучший способ сделать это? urllib2? pycURL? Curl? Что вы предпочитаете для поставленной задачи?

Пожалуйста, сообщите. Спасибо, ребята!

Ответы [ 3 ]

5 голосов
/ 12 мая 2010

Используйте что-то вроде:

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())
2 голосов
/ 27 марта 2011

Если вы не хотите использовать открытые прокси, проверьте ProxyMesh , который выполняет ротацию / рандомизацию IP для вас.

2 голосов
/ 10 мая 2010

Используйте инструмент Unix wget. Он имеет возможность указать пользовательский агент пользователя и задержку между каждым поиском страницы.

Для получения дополнительной информации см. справочную страницу wget (1) .

...