Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
1 / 1 / 2
Регистрация: 26.09.2010
Сообщений: 73
1

Парсинг страны на GeoIP

14.01.2011, 13:58. Показов 2696. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не получается спарсить текст такого вида:
HTML5
1
2
<td align="right"><span class="arial">Country code:</span></td>
                RU (RUS)</td>
нужно выдрать RU (RUS)

Пробовал по разному, а так сайт:http://geoiptool.com
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2011, 13:58
Ответы с готовыми решениями:

GeoIP. Получить название страны по двухсимвольному коду
Не нашел такую функцию, которая из кодов 'RU', 'TH', получает название страны - Russia, Thailand....

Образовать массив, индексами которого являются страны, а элементами - множества городов каждой страны
Образовать массив, индексами которого являются страны, а элементами - множества городов каждой...

PL SQL функция для определения страны по коду страны
Как написать pl sql функцию для определения кода страны? Например есть номер 7 922 555 1234...

Составить программу, которая бы выдавала по названию страны название столицы этой страны (использовать не менее 6-7 названий).
Составить программу, которая бы выдавала по названию страны название столицы этой страны...

10
54 / 54 / 4
Регистрация: 15.12.2010
Сообщений: 260
14.01.2011, 14:14 2
эээ, в смысле не получается???
не знаете как найти эту строку или сервак по другому отдает?
Если первое - пользовать Pos и PosX (или регулярки)
если второе - так код смотреть надо, хотя и в первом случае не помешает
1
1 / 1 / 2
Регистрация: 26.09.2010
Сообщений: 73
14.01.2011, 14:48  [ТС] 3
в смысле я пробовал Pos и PosX у меня не получилось.
Хотел посмотреть как у вас получится это сделать
0
54 / 54 / 4
Регистрация: 15.12.2010
Сообщений: 260
14.01.2011, 15:00 4
Delphi
1
2
3
startPos := Pos('<td align="right"><span class="arial">Country code:</span></td>', str);
endPos := PosEx('</td>', str, startPos + 63);
Countru := Trim(MidStr(str, startPos, endPos - startPos - 63));
Как то вот так, писал сразу сюда, так что не проверял
1
1 / 1 / 2
Регистрация: 26.09.2010
Сообщений: 73
14.01.2011, 15:18  [ТС] 5
Не сработало,
выводит <td align="right"><span class="arial">Country code:</span
Delphi
1
2
3
4
5
6
7
8
9
 var
 startPos,endPos:integer;
 str, Countru:string;
begin
str:=idhttp1.get('http://geoiptool.com/');
  startPos := Pos('<td align="right"><span class="arial">Country code:</span></td>', str);
endPos := PosEx('</td>', str, startPos + 63);
Countru := Trim(MidStr(str, startPos, endPos - startPos - 63));
memo1.lines.add(Countru);
0
54 / 54 / 4
Регистрация: 15.12.2010
Сообщений: 260
14.01.2011, 15:37 6
блин, а посмотреть по отладке ?
Я просто чуть ошибся
Delphi
1
2
3
4
5
6
str:=idhttp1.get('http://geoiptool.com/');
  startPos := Pos('<td align="right"><span class="arial">Country code:</span></td>', str);
  startPos := PosEx('<td align="left" class="arial_bold">', str, startPos + 63);
  endPos := PosEx('</td>', str, startPos + 36);
  Countru := Trim(MidStr(str, startPos + 36, endPos - startPos - 36));
  memo1.lines.add(Countru);
1
1 / 1 / 2
Регистрация: 26.09.2010
Сообщений: 73
14.01.2011, 15:53  [ТС] 7
ok

только вот почему пусто выводит ()
а если зайти то все норм
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
   var
 startPos,endPos:integer;
 str, Countru:string;
begin
 str:=idhttp1.get('http://geoiptool.com/?IP=95.52.112.168/');
  startPos := Pos('<td align="right"><span class="arial">Country code:</span></td>', str);
  startPos := PosEx('<td align="left" class="arial_bold">', str, startPos + 63);
  endPos := PosEx('</td>', str, startPos + 36);
  Countru := Trim(MidStr(str, startPos + 36, endPos - startPos - 36));
  memo1.lines.add(Countru);
 
end;
0
54 / 54 / 4
Регистрация: 15.12.2010
Сообщений: 260
14.01.2011, 15:56 8
Delphi
1
 str:=idhttp1.get('http://geoiptool.com/?IP=95.52.112.168');
1
1 / 1 / 2
Регистрация: 26.09.2010
Сообщений: 73
14.01.2011, 16:56  [ТС] 9
ну почему тут то пусто
должно быть норм а ()
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var
 
      startPos,endPos,i:integer;
 str, Countru:string;
begin
 for i:=0 to mainform.Memo4.Lines.Count-1    do
 begin
        idhttp1.Create(nil);
 
 
 
 str:=idhttp1.get('http://geoiptool.com/?IP='+mainform.Memo8.Lines[i]);
  startPos := Pos('<td align="right"><span class="arial">Country code:</span></td>', str);
  startPos := PosEx('<td align="left" class="arial_bold">', str, startPos + 63);
  endPos := PosEx('</td>', str, startPos + 36);
  Countru := Trim(MidStr(str, startPos + 36, endPos - startPos - 36));
  memo8.lines.add(Countru);
 
end;
0
54 / 54 / 4
Регистрация: 15.12.2010
Сообщений: 260
14.01.2011, 17:10 10
пара провакационных вопросов:
1. сами пытались понять почему не получается, если да, то как именно
2. такое страшное слова как "снифер" кога нибуть слышали? В частности HTTPAnalyzer или аналог?
0
37 / 15 / 3
Регистрация: 15.07.2010
Сообщений: 326
18.01.2011, 14:06 11
Delphi
1
2
3
Memo1.Text:=IdHttp1.Get('http://geoiptool.com/?IP=195.0.0.1');
Memo1.Text:=Copy(Memo1.Text,Pos('<td align="right"><span class="arial">Country code:</span></td>',Memo1.Text)+63,Pos('<td align="right"><span class="arial">Region:</span></td>',Memo1.Text)-Pos('<td align="right"><span class="arial">Country code:</span></td>',Memo1.Text)-63);
Edit1.Text:=Copy(Memo1.Text,Pos('<td align="left" class="arial_bold">',Memo1.Text)+36,Pos('</td>',Memo1.Text)-Pos('<td align="left" class="arial_bold">',Memo1.Text)-36);
0
18.01.2011, 14:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2011, 14:06
Помогаю со студенческими работами здесь

Определить, через сколько лет население первой страны превзойдет население второй страны
Задача такая: Население 2-х стран равно N1 и N2, соответственно прирост P1 и P2. Население N1 &lt; N2,...

GeoIP
Каким образом можно определить страну по айпи адресу ? может есть уже готовые функции у когото?

Через сколько лет население страны X превзойдет население страны Y
Доброго времени суток, уважаемые. Помогите пожалуйста решить задачу с использованием...

Debian 7 geoip
Здравствуйте! С линуксом я не дружу, но чуть-чуть понимаю. В общем у меня появилась...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru