Понадобились мне как-то прокси для парсинга Авито…
Когда-то я пытался размещать и парсить МНОГО объявлений на всем известной доске объявлений Авито. Так как аккаунты уже начали активно банить, я пытался как-то этого избежать и первое что пришло мне в голову — менять 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 — в него записываются отфильтрованные адреса прокси, через которые виден авито.
Если у Вас возникли вопросы по работе скрипта, пишите в комментарии, я обязательно отвечу.