LINUX.ORG.RU

почему ВК перестал отвечать парсеру?

 , ,


0

1

был у меня скриптик на питоне, который работал и возвращал результаты в виде html с набором фамилий:

import requests


headers = {
    'User-agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0)'
}

response = requests.get('https://vk.com/people/Козлов', headers=headers, proxies={"http":"http://10.10.1.10:3128"})
    
if response.status_code == 200:
    print('ok', response.text)
else:
    print('fail')

но после нескольких запусков стал возвращаться html без набора фамилий

<div id="no_results" class="no_rows">Ваш запрос не дал результатов<br> Возможно, Вы искали   <a hr

возможно, ВК как-то защищается от большого количества однотипных запросов с одного IP. Подскажите пожалуйста как это обойти. Как видите, я использовал headers и proxies

или вообще причину того, что скрипт перестал работать нужно искать в другом?


Первым делом надо читать документацию по апи вконтакта, вторым спрашивать их техподдержку.

Jaberwock ★★★
()
Ответ на: комментарий от x3al

Не получится, ИМХО. Там страницы не публичные в смысле данной статьи поскольку требуют авторизацию…

Jaberwock ★★★
()

А почему бы не воспользоваться API? У API ограничение 3 запроса в секунду, и это более «штатный» метод получения данных вк:

https://vk.com/dev/users.search

Более того, в вк есть возможность делать 20 (вроде) запросов за 1 раз, следовательно (метод execute), следовательно одним запросом можно выгрузить json-обьект с 20000 страниц и таких щапросов сделать 3 в секунду, то есть за секунду 60000.

c0da
()

Вообще уже давно посещает идея, что от особо хитропопых товарищей, мешающих парсить пора писать плагин для браузера, который будет это делать через реальный браузер...

peregrine ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.