При сборе бесплатных проксей из интернета многие прокси кажутся не рабочими, но
на самом деле некоторые прокси могут работать для одних сайтов и не работать для других.
Поэтому при проверке проксей на работоспособность лучше сразу использовать тот интернет ресурс под который вы собираете прокси.
Естественно, что в ручную проверять большое количество проксей просто не реально, поэтому мы написали универсальный скрипт проверки проксей.
Данный скрипт, проверяет список проксей из файла под любой сайт и сохраняет рабочие прокси в новый файл.
В настройках скрипта вам нужно указать адрес сайта для проверки и текст любой ссылки или имя любого элемента страницы.
На вход скрипт принимает список проксей в виде файла в формате:
62.141.46.151:80
218.108.242.124:8080
192.227.137.47:7808
125.216.144.199:8080
192.110.163.22:8089
192.95.14.4:7808
101.226.74.168:8081
Рабочие прокси будут сохраняться в заданный в настройках файл в таком же формате. Список проксей для проверки можно найти
на нашем сайте.
Настройки скрипта:
// //////////////////////// настройки скрипта /////////////////////////
// сайт под который проверяем прокси
$str_site="www.yahoo.com";
// текст ссылки на странице
$str_link_text="";
// имя элемента на странице
// в данном случае это имя
// поля для ввода поискового запроса
$str_elem_name="p";
// массив прокси
$a_proxy=file("data/proxy.txt");
// путь к файлу с хорошими проксями
$str_good_pr="res/proxy.txt";
Сам скрипт выглядит следующим образом:
quit();
}
// цикл проверки проксе
foreach($a_proxy as $pr)
{
debug_mess(" проверяем прокси $pr");
// задать прокси
$browser->enable_proxy("",trim($pr));
// перейти на заданный сайт
$browser->navigate($str_site);
// проверка по тексту ссылки
if($str_link_text!="")
{
if($anchor->is_exist_by_inner_text($str_link_text,false))
$textfile->add_string_to_file($str_good_pr,trim($pr)."rn") ;
} // проверка по наличию элемента с таким именем если задано имя элемента
else if($str_elem_name!="")
{
if($element->is_exist_by_name($str_elem_name))
$textfile->add_string_to_file($str_good_pr,trim($pr)."rn") ;
}
// остановить браузер
$browser->stop();
// отменить прокси
$browser->disable_proxy("");
// перейти на пустую страницу
$browser->navigate("about:blank");
}
debug_mess("скрипт закончил работу");
// Quit
$app->quit();
?>
Скрипт написан 07.05.2013 в Human Emulator 4.6.5 Advanced.