Приветствую многоуважаемый All ! Тут мне уже не раз помогали, хочу попросить помощи ещё раз.
Проблема такая. Ковыряя один из скриптов, наткнулся на очень странную запись чисел например строка:
+((!+[]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]))
Означает число 43. По крайней мере в браузере это так, можете проверить в консоли. Путём экспериментов понял, что числа формируются из групп в круглых скобках как десятичные. Левая группа старший разряд и т.д. Сами числа находятся как число квадратных скобок [] перед которыми стоят восклицательные знаки. Однако я не уверен, что всё знаю об этом способе. Вполне мог и пропустить какие-то особенности. Если кто в курсе, подскажите, где можно узнать об этом подробнее. Мне нужно уметь парсить на питоне подобные записи.
Как возникла задача. Мне в скрипте (python) нужно получать список бесплатных прокси-серверов. Причем их нужно МНОГО. Поэтому сервисы с API не годятся, там слишком мал суточный бесплатный лимит. Из платных сервисов с защитой от автоматического сканирования, мне больше всех понравился hideme. Но там применяют проверку на "человечность" веб-агента, где используется как раз такая форма записи чисел. Если кому любопытно, вот скрипт на питоне, получающий защитную страничку:
Код:
|
import requests
headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0",
"Accept":"text/html,application/xhtml+xml,application/xml; q=0.9,image/webp,*/*;q=0.8"
}
rsp=requests.get("https://hidemy.name/ru/proxy-list/", headers=headers)
s=str(rsp.content.decode(rsp.encoding))
file=open("hideme.html", "wt")
file.write(s)
file.close()
print("Готово !") |
Можете поковырять её сами и убедиться.
P.S. Предложения типа заплатить денюшку отвергаются. Не потому что жаба душит, а потому что скрипт делается для бесплатного публичного использования всеми желающими (будет выложен на гитхаб), в ОЧЕНЬ важной задаче.