Что нового

Нужна идея (работа с форумом)

Ranos1982

Новичок
Сообщения
130
Репутация
1
Вопрос,ребята такой.Есть задача,не знаю как ее правильно решить.Как неправильно - наверно знаею.
Есть страница (любая страница вернее в теме на форуме),на ней сообщения форума (например "билютень",как точно по анг.пишется - не знаю) . Мне нужно узнать айди последнего сообщения,и..как это сделать?

Я пока пришел к такому выводу.
Записываем все айди и выбираем самое максимальное значение.Это и будет последнее сообщение.Но надежно ли это...не уверен.

Подскажите,кто,что думает по этому поводу....
Время - отпадает,форумы разные и не везде оно указывается как и порядковый номер.НО,я знаю текст последнего сообщения.Наверно самым логичным будет,это сравнение текста...но если я не знаю на какой странице этот текст?

Простите за невыразительную речь,если что - постараюсь обьяснить :whistle:
 
Автор
R

Ranos1982

Новичок
Сообщения
130
Репутация
1
Так форумов то много и разные по типам.
Для интереса можем взять этот.

Тоесть еще раз,у нас есть форум и открытая первая страница темы "Нужна идея (работа с форумом)" . Страниц тут очень много.НО нам нужно узнать айди сообщения,которое содержит там....слово "CreatoR" . Вот ...логичесское решение нужно.Я его уже нашел,но мне кажется что все таки это не совсем то.
 

Denis.Rassvetniy

Новичок
Сообщения
5
Репутация
0
Так форумов то много и разные по типам.
Так ведь и id в ссылках не везде одинаково называются. Например где-то (как здесь) msg=id_сообщения, где-то id_msg=id_сообщения, где-то id=id_сообщения и т.д. Универсальной программы, подходящей для всех форумов не сделать.
 
Автор
R

Ranos1982

Новичок
Сообщения
130
Репутация
1
ну айди,вернее значение перед цыфравами - буду записывать для каждого форума...)

Жду мнение CreatoR-а . . .
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
Ranos1982 [?]
Страниц тут очень много.НО нам нужно узнать айди сообщения,которое содержит там....слово "CreatoR"
Зайдите на форум (под пользователем) укажите слово, в поисковике по форуму, пошлите запрос, потом, разбирайте ответ и вдёргивайте ваши идентификаторы :smile:
Только я считаю, что лучше вообще сохранять ссылки на нужные сообщения, потому как ID динамичны.
 
Автор
R

Ranos1982

Новичок
Сообщения
130
Репутация
1
Просто я замечаю,что в ссылке на сообщение - есть всегда айди.А без него,не знаю даже как..
А айди на тему - тоже динамичесские?
Вот теперь буду думать долго.... :whistle:


Добавлено:
Сообщение автоматически объединено:

И мнения Garrett-а жду.Он тоже такой спец. в autoit .
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
Ranos1982 [?]
Просто я замечаю,что в ссылке на сообщение - есть всегда айди.
Да есть.
Кстати я немного не так выразился, сказав что:
Garrett [?]
потому как ID динамичны
я хотел просто подтвердить высказывание Denis.Rassvetniy в отношении имён переменных для ID.
Предположим, вы собрали ID сообщений
5302
4359
3329
3360

И...
Дальше вам всё равно нужно будет формировать ссылку для запроса! Так зачем выдёргивать ID, когда легче сохранить ссылку целиком.
 
Автор
R

Ranos1982

Новичок
Сообщения
130
Репутация
1
Просто ключевое всеравно в айди.Я конечно понимаю что нужно ссылку.Кстати а эти айди - не динамичесские???

Просто как это все разумное организовать ,еще раз:

есть страница . на ней тема и какаято страница . мы не знаем какая страница,но нам нужно узнать самое последнее сообщение,которое конечно стоит на самой последней странице в теме (!) на форуме.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320
Ranos1982
Может как-то так?
Код:
#include <IE.au3>
;#include <Array.au3>

$sURL = 'http://autoit-script.ru/index.php?topic=5369.900'
;$sURL = 'http://autoit-script.ru/index.php?topic=10.900'
$iCount = 0
$oIE = _IECreate($sURL)

$oLinks = _IELinkGetCollection($oIE)
$iNumLinks = @extended
Dim $aTopics[$iNumLinks]
For $oLink In $oLinks
	If StringInStr($oLink.href, '#msg') And StringLeft($oLink.outertext, 2) = 'Re' Then
		$iCount += 1
		$aTopics[$iCount] = $oLink.href
	EndIf
Next
If $iCount Then
	ReDim $aTopics[$iCount + 1]
	$aTopics[0] = $iCount
	;_ArrayDisplay($aTopics)
	If MsgBox(36, 'Test', 'Перейти к последнему ответу?') = 6 Then
		_IENavigate($oIE, $aTopics[$aTopics[0]])
	EndIf
Else
	MsgBox(16, 'Error', 'Error')
EndIf
 
Автор
R

Ranos1982

Новичок
Сообщения
130
Репутация
1
Хорошо,большое спасибо.
Правда еще есть такой момент как...то,что на некоторых форумах,последнее сообщение - на первой старнице....тоесть в шапке - последнее.А это все нужно автоматизировать.

Думаю все возможно,так как мы знаем часть сообщения (например строчка в сообщении есть - 'autoit it's good script' ) ... :whistle:
 
Автор
R

Ranos1982

Новичок
Сообщения
130
Репутация
1
madmasles,вы бы не могли свой код немного прокоментировать...
 
Автор
R

Ranos1982

Новичок
Сообщения
130
Репутация
1
В общем алгоритм поиска ссылки в итоге немного понятен,но не до конца...

Код:
Global $oIE


$oIE = _IEAttach('exbii')


$oLinks = _IETagNameallGetCollection($oIE)
$iNumLinks = @extended
MsgBox (16,'',$iNumLinks)
For $oLink In $oLinks
    If $oLink.outertext == 'jhgj' Then
       MsgBox (16,'нашли!',$oLink.outertext )
	   MsgBox (16,'нашли!',$oLink.href)               ; вот тут ошибка.Там (тоесть это все как бы контейнер в тегах TD
               	 ;с сообщением,ссылками там..цветом шрифта и т.д.) где я нашел в сообщение слово,там
                 ; и будет ссылка на ... например ответить на это сообщение.
                 ;И как мне на нее указать , я не знаю. 
                 ;И вот вопрос,как мне ...чтоли искать ссыльку на ответ именно в этом контейнере....

    EndIf
Next
 
Автор
R

Ranos1982

Новичок
Сообщения
130
Репутация
1
ну не ужели никто ничего не посоветует...
 
Автор
R

Ranos1982

Новичок
Сообщения
130
Репутация
1
ребята,ну дайте хоть намек я вчера весь вечер убил этому...но так и не нашел ответа...:IL_AutoIt_1:
:'( :'( :'( :'( :'( :'( :'( :'(
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
Ranos1982
пользуйся объединением сообщений.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
Ranos1982
Решение зависит от вас!
Направление (в какую сторону смотреть) вам уже дали, дело за вами.
Если вы хотите что бы за вас всё решили и сделали то вам сюда.
 
Автор
R

Ranos1982

Новичок
Сообщения
130
Репутация
1
я все понял,вернее про основное.Находим текст и...и вот у меня никак не получается оттуда выдернуть href,хотя я пробывал и
Код:
_IETagNameGetCollection($o_object,'TD')
- все равно не получается.Тоесть ссылку на ответ - не получается достать (
 
Верх