Автор Тема: Помогите спарсить нужную информацию из html  (Прочитано 6172 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн Pavel [?]

  • Новичок
  • *
  • Сообщений: 123
  • Репутация: 3
    • Награды
Просидел около двух часов, но так и не сумел решить задачу.
Есть страница http://www.rosinvest.com/kurs/ или http://www.rosinvest.com/
Нужно получить в переменную курс USD.
Буду рад помощи.

Русское сообщество AutoIt

Помогите спарсить нужную информацию из html
« Отправлен: Июль 29, 2010, 22:48:55 »

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7789
  • Репутация: 2313
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Pavel
Попробуйте так:
Код: AutoIt [Выделить]
#include <IE.au3>

$sText = ''
$oIE = _IECreate("http://www.rosinvest.com/kurs/", 0, 0)

$oTableAll = _IETableGetCollection($oIE)
$iNumTables = @extended
For $i = 0 To $iNumTables - 1
    $oTable = _IETableGetCollection($oIE, $i)
    $aTableData = _IETableWriteToArray($oTable)
    If StringInStr($aTableData[0][0], 'Код') Then ExitLoop
Next
_IEQuit($oIE)
For $i = 0 To UBound($aTableData, 2) - 1
    If StringInStr($aTableData[0][$i], 'USD') Then
        $sText = $aTableData[2][$i] & ' - курс в рублях: ' & $aTableData[3][$i]
        ExitLoop
    EndIf
Next
MsgBox(0, '', $sText)

Или так:
Код: AutoIt [Выделить]
#include <Inet.au3>

$sPattern = '(?s).*?\Qvalue="USD|\E(.*?)\Q">Доллар США\E.*'
$sString = _INetGetSource("http://www.rosinvest.com/kurs/")
$sResult = StringRegExpReplace($sString, $sPattern, '\1')
MsgBox(0, 'Курс USD:', $sResult & ' рублей за 1 USD.')

« Последнее редактирование: Июль 29, 2010, 23:26:27 от madmasles »

Оффлайн Pavel [?]

  • Новичок
  • *
  • Сообщений: 123

  • Автор темы
  • Репутация: 3
    • Награды
Благодарю за помощь!
Именно вторым вариантом пытался решить проблему. Не подскажите, на последок - где можно почитать про специфические обозначения типа (.s)?

Оффлайн Noober [?]

  • Новичок
  • *
  • Сообщений: 16
  • Репутация: 0
    • Награды
Есть страница
http://www.spboms.ru/kiop/main?page_id=45&type_id=2&last_name=%C8%C2%C0%CD%CE%C2&policy_serial=%CD%CA%CE&policy_number=%38%30%35%37%34%34%32 [nofollow]

С неё из раздела "Результат поиска" нужно спарсить инфу ФИО, СМО, Полис, Тип договора и запихну в MsgBox .
« Последнее редактирование: Октябрь 14, 2010, 18:01:22 от Noober »

Русское сообщество AutoIt

[Сеть, интернет] Помогите спарсить нужную информацию из html
« Ответ #3 Отправлен: Октябрь 14, 2010, 17:48:45 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5349
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Помогите спарсить
« Ответ #4, Отправлен: Октябрь 14, 2010, 17:56:41 »
ПредупреждениеЗа нарушение правил форума (пункт Б.5):
Цитировать
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.

Как правильно называть темы

"Помогите спарсить" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта.

С уважением, Модератор форума.


Думай, прежде чем говорить.

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7789
  • Репутация: 2313
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Noober
Попробуйте так:
Код: AutoIt [Выделить]
#include <IE.au3>

$sUrl = 'http://www.spboms.ru/kiop/main?page_id=45&type_id=2&last_name=%C8%C2%C0%CD%CE%C2&policy_serial=%CD%CA%CE&policy_number=%38%30%35%37%34%34%32'
$oIE = _IECreate($sUrl)
$sText = _IEBodyReadText($oIE)
_IEQuit($oIE)
$sText = StringRegExpReplace($sText, '(?s).*?(ФИО.*?Тип договора.*?)\r\n?.*', '\1')
MsgBox(0, '', $sText)


Оффлайн Noober [?]

  • Новичок
  • *
  • Сообщений: 16
  • Репутация: 0
    • Награды

Русское сообщество AutoIt

Re: [Сеть, интернет] Помогите спарсить нужную информацию из html
« Ответ #6 Отправлен: Октябрь 14, 2010, 18:43:44 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
4 Ответов
2501 Просмотров
Последний ответ Август 16, 2011, 15:42:10
от La2Angel
2 Ответов
2419 Просмотров
Последний ответ Август 17, 2011, 13:42:00
от madmasles
7 Ответов
8916 Просмотров
Последний ответ Ноябрь 26, 2011, 19:27:03
от madmasles
4 Ответов
1761 Просмотров
Последний ответ Июнь 10, 2013, 16:24:26
от andriy111
4 Ответов
752 Просмотров
Последний ответ Сентябрь 05, 2015, 14:58:55
от Medic84
4 Ответов
1181 Просмотров
Последний ответ Ноябрь 24, 2015, 13:29:05
от InnI
13 Ответов
2005 Просмотров
Последний ответ Январь 09, 2016, 09:27:36
от Garrett
6 Ответов
836 Просмотров
Последний ответ Апрель 19, 2016, 22:33:31
от Alofa
4 Ответов
358 Просмотров
Последний ответ Декабрь 25, 2016, 12:43:26
от Незнайка
0 Ответов
464 Просмотров
Последний ответ Январь 11, 2017, 19:57:47
от Dessan