0
- 29.12.2012 - 08:56
|
Помогите плиз. Что нужно в кратце: послать скрипту IP адрес, в ответ получить ссылку на картинку с флагом соотв. страны. Мутить самому с использованием файла соответствий - лениво. Пишу: $ua=LWP::UserAgent->new;$ua->agent("MSIE 7.0 "); $url="http://www.ipcountry.org/index.php?searched_ip=$ip"; $req=HTTP::Request->new(GET =>$url); $req->header('Accept'=>'text/html');$res=$ua->request($req);@res=$res->content; В @res у меня вся ответная страница. На этой странице есть требуемая картинка. Как мне выпарсить ее оттуда? Спасибо! | |
1
- 29.12.2012 - 08:58
|
А точнее нужно выцепить всё и в таком виде: I.P address : 1.1.1.1 <br> Host : 1.1.1.1 <br> Provider : Provider <br> Country : [Здесь <img src картинки>] Russian federation. <br> Country code : RU | |
2
- 29.12.2012 - 12:09
|
split foreach if()** ... ** | |
3
- 29.12.2012 - 12:33
|
(2) @res - HTML страницы целиком. Какой split? А @res это вообще не массив а чорт знает что. foreach (@res) ** print $_ ** - один единственный проход у цикла, $_ равна @res. | |
4
- 29.12.2012 - 12:35
| Регуляркой дёрнуть или в чём вопрос? | |
5
- 29.12.2012 - 12:51
|
(4) Я плохо представляю как из этой каши(целая HTML страница) что либо дернуть регуляркой. Я не прошу готовый код - примерчик бы... А может в интернете уже есть где такой сервис? Ты ему IP - а он тебе картинку | |
6
- 29.12.2012 - 21:28
|
????? ламо? разбери свой "чорт знает что" на строки и сверяй с шаблонами. | |
7
- 01.01.2013 - 13:32
|
(6) Тупой??? Или по выпендриваться надо?? Я в парсинге не бум-бум - так понятно?? Прошу помощи. А ты не пиши сюда больше. | |
8
- 01.01.2013 - 13:35
| @res - это не массив. Да и с какой стати?? По чему я сплитить буду, по >< ?? | |
9
- 04.01.2013 - 14:18
|
... $res=$ua->request($req); $page=$res->content; if ($page =~ /img src='flags\/(.+?\.png)'/i) ** $flag_url = "http://www.ipcountry.org/flags/$1"; ** | |
10
- 08.01.2013 - 10:09
|
если в парсинге не бум-бум, то лучше юзать сервисы которые отдают данные например в JSON, типа вот этого http://ipinfodb.com/ip_location_api_json.php только я про флаги не уверен, но думаю что с флагами есть что-то похожее | |
11
- 08.01.2013 - 19:22
|
а не проще ли использовать Net::Whois::Raw да и работать быстрее должно, считай обращается к первоисточникам использовать очень просто, а отпарсить ещё проще: use Net::Whois::Raw; my $result=whois('192.168.1.1'); | |
| Интернет-форум Краснодарского края и Краснодара |