Пт. Май 17th, 2024

Понадобились мне как-то прокси для парсинга Авито…

Когда-то я пытался размещать и парсить МНОГО объявлений на всем известной доске объявлений Авито. Так как аккаунты уже начали активно банить, я пытался как-то этого избежать и первое что пришло мне в голову — менять IP адрес. Для этого я решил найти бесплатные и не очень прокси, но оказалось что не один я такой умный, и авито активно банил IP-адреса проксей, с которых пытались массово постить объявления. В итоге, я пришел к тому что можно проверять доступность авито через прокси, для этого был написан простой скрипт на python, код которого я привожу ниже.

# coding=utf-8
from grab import Grab
g = Grab()

f = open(‘proxylist.txt’) # мой сырой список прокси
av = open(‘goodproxy.txt’, ‘w’) # прокси через которые виден авито

num_lines = sum(1 for line in f)
print (‘Proxies in file: ‘ + str(num_lines))
f.close()

with open(‘proxylist.txt’) as f:
    mylist = [line.rstrip(‘\n’) for line in f]

cycle = 0
while cycle < num_lines:
    s = mylist[cycle]
    try:
        g.setup(proxy=s)
        g.go(‘http://avito.ru‘)
        print 
        av.write(s+’\n’)
        print (s +’ – ok [‘+str(cycle)+’|’+str(num_lines)+’] ‘+g.doc.select(‘//title’).text().encode(‘utf-8’))
    except Exception as inst:
        print (s +’ – ‘+ str(inst) +’ [‘+str(cycle)+’|’+str(num_lines)+’]’)
    cycle += 1
print (‘Done’)

В кратце: скрипт читает файл proxylist.txt, в котором содержится список полученных мною прокси, так-же открывает файл goodproxy.txt — в него записываются отфильтрованные адреса прокси, через которые виден авито.

Если у Вас возникли вопросы по работе скрипта, пишите в комментарии, я обязательно отвечу.

Добавить комментарий