Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Medic84

$AutoITer


Автор проектов


Сообщения: 446
Благодарности: 44

Профиль | Отправить PM | Цитировать


Хех. Пытался вставить свое и свое ничего не работает. Кроме краткого....
Причем в твоем скрипте "Имя" не работает.


Код: Выделить весь код
#include <IE.au3>

$sURL = "http://www.kinopoisk.ru/level/1/film/5090/"

$sURL = InputBox("Kinopoisk.ru Informer", "Введите ссылку на фильм для получения информации:", $sURL, "", 350, 200)
If @error Then Exit

$oIE = _IECreate($sURL, 0, 0)
$sSource = _IEDocReadHTML($oIE)
_IEQuit($oIE)

$sName = _GetSourceProperty($sSource, '', '(?si).*?<h1 class=moviename-big>(.*?)</h1>.*')
$sSlogan = _GetSourceProperty($sSource, 'слоган')
$sBudget = _GetSourceProperty($sSource, 'бюджет')
$sYear = _GetSourceProperty($sSource, 'год')
$sCountry = _GetSourceProperty($sSource, 'страна')
$sMir = _GetSourceProperty($sSource, 'премьера (мир)')
$sRF = _GetSourceProperty($sSource, 'премьера (РФ)')
$sOriginal = _GetSourceProperty($sSource, '','?si).*?<span style="color:.*? font-size:.*?">(.*?)</span>.*')
$sDirector = _GetSourceProperty($sSource, 'режиссер')
$sWorld_Collect = _GetSourceProperty($sSource, 'сборы в мире')
$sTime = _GetSourceProperty($sSource, 'время')
$aJanrs = StringRegExp($sSource, '.*?<A href="/level/10/.*?genre.*?">(.*?)</A>.*?', 3)
$sJanrs = ""
$Kratk = _GetSourceProperty($sSource, '','(?si).*?<span class=_reachbanner_.*?>(.*?)</span>.*')
$Kratk = StringReplace($Kratk,"<BR>",@CRLF)
$iUbound = UBound($aJanrs)-1
For $i = 0 To $iUbound
    $sJanrs &= $aJanrs[$i]
    If $i < $iUbound Then $sJanrs &= ", "
    Next

$sInfo = StringFormat( _
    "Имя:\t\t\t%s\n" & _
    "Слоган:\t\t\t%s\n" & _
    "Бюджет:\t\t\t%s\n" & _
    "Год:\t\t\t%s\n" & _
    "Страна:\t\t\t%s\n" & _
    "Режиссер:\t\t%s\n" & _
    "Премьера (Мир):\t\t%s\n" & _
    "Сборы в мире:\t\t%s\n" & _
    "Премьера (РФ):\t\t%s\n" & _
    "Время:\t\t\t%s\n\n" & _
    "Жанр:\t\t\t%s", _
    $sName, $sSlogan, $sBudget, $sYear, $sCountry, $sDirector, $sMir, $sWorld_Collect, $sRF, $sTime, $sJanrs)

MsgBox(64, 'Kinopoisk.ru Info', $sInfo)

;Функция для получения подстроки по заданному pattern
Func _GetSourceProperty($sSource, $sName, $sPattern='')
    Local $s_Pattern = '(?si).*?<TD class=type>%s</TD>.*?<TD(?: class=.*?|)>(?:<A href=".*?">|)(.*?)(?:</A>|)</TD></TR>.*'
    If $sPattern <> '' Then $s_Pattern = $sPattern

    $s_Pattern = StringFormat($s_Pattern, $sName)

    Local $sRet = StringRegExpReplace($sSource, $s_Pattern, '\1')
    If @extended = 0 Then Return SetError(1, 0, "N/A")

    $sRet = StringReplace($sRet, ' ', ' ')
    $sRet = StringRegExpReplace($sRet, '\A«+|»+$', '"')

    Return $sRet
EndFunc
З.Ы. А что делать если несколько режисеров?

-------

AutoIT Русское сообщество| Моя лаборатория


Отправлено: 20:53, 18-08-2009 | #10