Что нового

Справится ли AutoIT с задачей сложного информера

BOOKER

Новичок
Сообщения
33
Репутация
0
Добрый вечер! Когда то давно учил AutoIT на этом форуме но из за огромного загруза по работе пришлось оставить эту затею.Естественно сейчас я уже ничего не вспомню из того что выучил. А вот сейчас вроде время появилось и я решил начать заново обучение.Вспоминая примеры работ других участников форума. Родилась идея возобновить обучение и начать с сотворения некого информера.Поясняю информера.
Есть сайт, на главной странице есть разделы "Аудио, Видео, Игры, и т.д" при нажатии на раздел "Видео" мы видим несколько других разделов "Наше, Зарубежное, Сериалы, и т.д" В любом из этих подразделов мы видим фильмы и прочее видео. Для того чтобы было понятно прилагаю рисунок.


То есть классическая схема. Под кажой статьей с добавленным видео есть дата и время когда файл был добавлен. Например "0:39, 20 июня 2011".

Так вот. Возможно ли написать такой информер в котором есть нужные нам разделы "Аудио, Видео и т.д" и показывал например что в разделе "Зарубежное" появилось нового за сегодня или например за вчера и каким нибудь образом выдавал ссылку на него или что то вроде?

P/S Прошу прощенья наверное много написал и возможно витьевато и не совсем ясно. Просто хотел максимально доступно объяснить свою цель.
 

SECTOR

Продвинутый
Сообщения
399
Репутация
59
Если чесно не делал такие вещи, но думаю так:

Если хочешь более простое решение, капай в сторону IE.au3
Более сложное WinHTTP.au3

открывай сраницы и шарь содержимое через некие промежутки времени и сравнивай их...

---

Еще есть вариант использовать RSS ленту (если она есть на сайте) :smile:
 
Автор
B

BOOKER

Новичок
Сообщения
33
Репутация
0
А подскажет как правильно должен выглядеть порядок действий? Или построение скрипта наверное правильнее сказать
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
BOOKER,
Ссылку на сайт дайте.
 
Автор
B

BOOKER

Новичок
Сообщения
33
Репутация
0
http://www.ex.ua/

Только проблема в том что он для России вроде как закрыт
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
BOOKER [?]
Только проблема в том что он для России вроде как закрыт
Делал через AdvOR, у меня работает:
Код:
#include <Array.au3>

$sUrl = 'http://www.ex.ua'
$sText = InetRead($sUrl & '/ru/video', 17)
If @error Then
	MsgBox(16, 'Error', @error)
	Exit
EndIf
$sLinkOur = StringRegExpReplace(BinaryToString($sText, 4), "(?s).*?Наше</b></a><p><a href='(.*?)'\s*\w?.*", '$1')
If @extended <> 1 Then
	MsgBox(16, 'Error', 'Error')
	Exit
EndIf
$sText = InetRead($sUrl & $sLinkOur, 17)
If @error Then
	MsgBox(16, 'Error', @error)
	Exit
EndIf
$aTemp = StringRegExp(BinaryToString($sText, 4), '<td align=center valign=center>(.*?)</td>', 3)
If @error Then
	MsgBox(16, 'Error', @error)
	Exit
EndIf
Dim $aResult[UBound($aTemp) + 1][3]
$aResult[0][0] = 'Название'
$aResult[0][1] = 'Ссылка'
$aResult[0][2] = 'Дата'
For $i = 1 To UBound($aTemp)
	$aResult[$i][0] = StringRegExpReplace($aTemp[$i - 1], '.*?<b>(.*?)</b>?.*', '$1')
	$aResult[$i][1] = $sUrl & StringRegExpReplace($aTemp[$i - 1], "^<a href='(.*?)'><?.*", '$1')
	$aResult[$i][2] = StringRegExpReplace($aTemp[$i - 1], '.*?<small>(.*?)</small>?.*', '$1')
Next
_ArrayDisplay($aResult)
 
Автор
B

BOOKER

Новичок
Сообщения
33
Репутация
0
Спасибо! Это почти то что я задумал на основе этого попробую сделать в точности так как хотел
 
Верх