Регулярка для поиска прокси

Статус
В этой теме нельзя размещать новые ответы.
В принципе да, но я имел в виду, что надо еще как-то фильтровать страницы с которых грабятся ip. Например искать там ключевики proxy, прокси и т.п.

И второе, наверное надо найти какой-то командный/шелловский чекер проксей и сразу скармливать ему найденные прокси. Или это не так делается?
 
В принципе да, но я имел в виду, что надо еще как-то фильтровать страницы с которых грабятся ip. Например искать там ключевики proxy, прокси и т.п.

И второе, наверное надо найти какой-то командный/шелловский чекер проксей и сразу скармливать ему найденные прокси. Или это не так делается?

А откуда ты собрался прокси парсить? Наверно с прокси листов. Нет смысла фильтровать по кеям на странице, тем более, что после парсинга нужно будет обработать полученный список прокси на валидность и не правильные данные отсеятся.


А вообще примерно так и делается :) Смотря какая задача перед тобой.
 
:) Ну все ясно. Тогда надо брать регулярку которая сразу накладывает ограничение на валидность и не париться.
 
Размеется, очень важно откуда брать данные. Если составляшь по контрекный прокси лист, можно составлять "примерно". А если составлять универсальную регэкспу, то надо лучше по максимому учесть - ip-шники из диапазонов 127.* и некоторых других(тут посмотреть надо) отсекаются, можно добавить допуск пробела между портом и сервером. Но чекать по любому потом, потому что просто некоторый ip-шник из интеренета и рабочий прокси внешне не отличатся.
 
это самая моя первая регулярка, выложу, не ругать:
HTML:
"([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}:[0-9]{1,5})"
Парсит всё, и даже больше)
+ Фильтр, убрать диапазоны локальных адресов
++ Валидность = курлом запрос на гугл :)

:) Ну все ясно. Тогда надо брать регулярку которая сразу накладывает ограничение на валидность и не париться.
Хм... исходя из
172.168.54.2:123455 // Максимум может быть портов: 65535 хех...
888.888.888.888:234 //максимум IPv4 255.255.255.255 мдя...
... вот вам и правила
 
DCRM +1 за ограничения, только точки нужно заэкранировать, а то может лажу навыбирать:
Код:
"(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5})"
 
> ++ Валидность = курлом запрос на гугл
Так себе валидность. А вдруг оно кукисы не пускает? Или POST режет?
 
А как запросом в гугл определить валидность адреса?
Я то имел в виду, что выбирать регуляркой валидные ip-адреса. А проверять уже прокси-чекером.
Мой вариант выражения:
Код:
"([0-2]?\d?\d\.[0-2]?\d?\d\.[0-2]?\d?\d\.[0-2]?\d?\d\)(:[0-6]?\d{1,4})?"
Выберет все от
0.0.0.0 до 299.299.299.299
с портом или без.
Порт от 0 до 69999
Добавлено через 27 минут
Вот что нашел в интернете. Это более строгое выражение, но медленнее работает. И не учитывает порт.
Код:
/^([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9][0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/
Порт можно добавить как-то так:
Код:
/^([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9][0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])){3}(:([0-9]|[0-9][0-9]|[0-9][0-9][0-9]|[0-5][0-9][0-9][0-9][0-9]|6553[0-6]|6552[0-9]|654[0-9][0-9]|64[0-9][0-9][0-9]))?$/
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху