Что нового

[Сеть, интернет] Как добыть коллекцию ссылок из HTML Таблицы

serg-pl-1

Новичок
Сообщения
14
Репутация
1
Есть таблица из которой надо выловить ссылки.
Вот HTML код:

Код:
<TABLE class=vis id=production_table><TBODY>
<TR>
<TH>Деревня</TH>
<TH>Очки</TH>
<TH>Сырьё</TH>
<TH>Склад</TH>
<TH>Усадьба</TH></TR>
<TR class="nowrap row_a" style="WHITE-SPACE: nowrap">
<TD><SPAN id=label_55555><A href="/game.php?village=55555&amp;screen=overview"><SPAN id=label_text_55555>Деревня варваров (184|231) К32</SPAN> </A></SPAN><SPAN id=edit_55555 style="DISPLAY: none"><INPUT id=edit_input_55555 value="Деревня варваров"> <INPUT onclick="editSubmitNew('label_55555', 'label_text_55555', 'edit_55555', 'edit_input_55555', '');" type=button value=OK> </SPAN></TD>
<TD>1<SPAN class=grey>.</SPAN>970</TD>
<TD align=middle><IMG title=Дерево alt="" src="graphic/holz.png?1">19<SPAN class=grey>.</SPAN>220 <IMG title=Глина alt="" src="graphic/lehm.png?1">24<SPAN class=grey>.</SPAN>030 <IMG title=Металл alt="" src="graphic/eisen.png?1">14<SPAN class=grey>.</SPAN>254 </TD>
<TD>62305</TD>
<TD>928/1174</TD></TR>
<TR class="nowrap row_b" style="WHITE-SPACE: nowrap">
<TD><SPAN id=label_66666><A href="/game.php?village=66666&amp;screen=overview"><SPAN id=label_text_66666>Деревня варваров (183|230) К32</SPAN> </A></SPAN><SPAN id=edit_66666 style="DISPLAY: none"><INPUT id=edit_input_66666 value="Деревня варваров"> <INPUT onclick="editSubmitNew('label_66666', 'label_text_66666', 'edit_66666', 'edit_input_66666', '');" type=button value=OK> </SPAN></TD>
<TD>1<SPAN class=grey>.</SPAN>560</TD>
<TD align=middle><IMG title=Дерево alt="" src="graphic/holz.png?1">12<SPAN class=grey>.</SPAN>044 <IMG title=Глина alt="" src="graphic/lehm.png?1">11<SPAN class=grey>.</SPAN>141 <IMG title=Металл alt="" src="graphic/eisen.png?1">11<SPAN class=grey>.</SPAN>521 </TD>
<TD>33523</TD>
<TD>794/1002</TD></TR>
<TR class="nowrap row_a" style="WHITE-SPACE: nowrap">
<TD><SPAN id=label_77777><A href="/game.php?village=77777&amp;screen=overview"><SPAN id=label_text_77777>Деревня варваров (183|229) К32</SPAN> </A></SPAN><SPAN id=edit_77777 style="DISPLAY: none"><INPUT id=edit_input_77777 value="Деревня варваров"> <INPUT onclick="editSubmitNew('label_77777', 'label_text_77777', 'edit_77777', 'edit_input_77777', '');" type=button value=OK> </SPAN></TD>
<TD>1<SPAN class=grey>.</SPAN>324</TD>
<TD align=middle><IMG title=Дерево alt="" src="graphic/holz.png?1">2<SPAN class=grey>.</SPAN>916 <IMG title=Глина alt="" src="graphic/lehm.png?1">4<SPAN class=grey>.</SPAN>173 <IMG title=Металл alt="" src="graphic/eisen.png?1">3<SPAN class=grey>.</SPAN>059 </TD>
<TD>18037</TD>
<TD>712/1174</TD></TR>
<TR class="nowrap row_b" style="WHITE-SPACE: nowrap">
<TD><SPAN id=label_88888><A href="/game.php?village=88888&amp;screen=overview"><SPAN id=label_text_88888>Деревня варваров (181|232) К32</SPAN> </A></SPAN><SPAN id=edit_88888 style="DISPLAY: none"><INPUT id=edit_input_88888 value="Деревня варваров"> <INPUT onclick="editSubmitNew('label_88888', 'label_text_88888', 'edit_88888', 'edit_input_88888', '');" type=button value=OK> </SPAN></TD>
<TD>1<SPAN class=grey>.</SPAN>231</TD>
<TD align=middle><IMG title=Дерево alt="" src="graphic/holz.png?1">4<SPAN class=grey>.</SPAN>092 <IMG title=Глина alt="" src="graphic/lehm.png?1">2<SPAN class=grey>.</SPAN>270 <IMG title=Металл alt="" src="graphic/eisen.png?1">603 </TD>
<TD>22177</TD>
<TD>653/729</TD></TR>
<TR class="nowrap row_a" style="WHITE-SPACE: nowrap">
<TD><SPAN id=label_99999><A href="/game.php?village=99999&amp;screen=overview"><SPAN id=label_text_99999>Деревня варваров (184|226) К32</SPAN> </A></SPAN><SPAN id=edit_99999 style="DISPLAY: none"><INPUT id=edit_input_99999 value="Деревня варваров"> <INPUT onclick="editSubmitNew('label_99999', 'label_text_99999', 'edit_99999', 'edit_input_99999', '');" type=button value=OK> </SPAN></TD>
<TD>1<SPAN class=grey>.</SPAN>520</TD>
<TD align=middle><IMG title=Дерево alt="" src="graphic/holz.png?1">625 <IMG title=Глина alt="" src="graphic/lehm.png?1">3<SPAN class=grey>.</SPAN>280 <IMG title=Металл alt="" src="graphic/eisen.png?1">3<SPAN class=grey>.</SPAN>321 </TD>
<TD>33523</TD>
<TD>756/6737</TD></TR>
<TR class="nowrap row_b" style="WHITE-SPACE: nowrap">
<TD><SPAN id=label_00000><A href="/game.php?village=00000&amp;screen=overview"><SPAN id=label_text_00000>Деревня варваров (184|227) К32</SPAN> </A></SPAN><SPAN id=edit_00000 style="DISPLAY: none"><INPUT id=edit_input_00000 value="Деревня варваров"> <INPUT onclick="editSubmitNew('label_00000', 'label_text_00000', 'edit_00000', 'edit_input_00000', '');" type=button value=OK> </SPAN></TD>
<TD>1<SPAN class=grey>.</SPAN>510</TD>
<TD align=middle><IMG title=Дерево alt="" src="graphic/holz.png?1">7<SPAN class=grey>.</SPAN>116 <IMG title=Глина alt="" src="graphic/lehm.png?1">11<SPAN class=grey>.</SPAN>442 <IMG title=Металл alt="" src="graphic/eisen.png?1">12<SPAN class=grey>.</SPAN>105 </TD>
<TD>50675</TD>
<TD>721/1891</TD></TR>
<TR class="nowrap row_a" style="WHITE-SPACE: nowrap">
<TD><SPAN id=label_11111><A href="/game.php?village=11111&amp;screen=overview"><SPAN id=label_text_11111>Деревня варваров (183|228) К32</SPAN> </A></SPAN><SPAN id=edit_11111 style="DISPLAY: none"><INPUT id=edit_input_11111 value="Деревня варваров"> <INPUT onclick="editSubmitNew('label_11111', 'label_text_11111', 'edit_11111', 'edit_input_11111', '');" type=button value=OK> </SPAN></TD>
<TD>1<SPAN class=grey>.</SPAN>237</TD>
<TD align=middle><IMG title=Дерево alt="" src="graphic/holz.png?1">2<SPAN class=grey>.</SPAN>610 <IMG title=Глина alt="" src="graphic/lehm.png?1">7<SPAN class=grey>.</SPAN>434 <IMG title=Металл alt="" src="graphic/eisen.png?1">10<SPAN class=grey>.</SPAN>589 </TD>
<TD>18037</TD>
<TD>752/1613</TD></TR>
<TR class="nowrap row_b" style="WHITE-SPACE: nowrap">
<TD><SPAN id=label_22222><A href="/game.php?village=22222&amp;screen=overview"><SPAN id=label_text_22222>Деревня варваров (184|228) К32</SPAN> </A></SPAN><SPAN id=edit_22222 style="DISPLAY: none"><INPUT id=edit_input_22222 value="Деревня варваров"> <INPUT onclick="editSubmitNew('label_22222', 'label_text_22222', 'edit_22222', 'edit_input_22222', '');" type=button value=OK> </SPAN></TD>
<TD>9<SPAN class=grey>.</SPAN>109</TD>
<TD align=middle><IMG title=Дерево alt="" src="graphic/holz.png?1">16<SPAN class=grey>.</SPAN>404 <IMG title=Глина alt="" src="graphic/lehm.png?1">54<SPAN class=grey>.</SPAN>074 <IMG title=Металл alt="" src="graphic/eisen.png?1">31<SPAN class=grey>.</SPAN>784 </TD>
<TD>400000</TD>
<TD>23698/24000</TD></TR>
<TR class="nowrap row_a" style="WHITE-SPACE: nowrap">
<TD><SPAN id=label_33333><A href="/game.php?village=33333&amp;screen=overview"><SPAN id=label_text_33333>Деревня варваров (185|231) К32</SPAN> </A></SPAN><SPAN id=edit_33333 style="DISPLAY: none"><INPUT id=edit_input_33333 value="Деревня варваров"> <INPUT onclick="editSubmitNew('label_33333', 'label_text_33333', 'edit_33333', 'edit_input_33333', '');" type=button value=OK> </SPAN></TD>
<TD>7<SPAN class=grey>.</SPAN>853</TD>
<TD align=middle><IMG title=Дерево alt="" src="graphic/holz.png?1">1<SPAN class=grey>.</SPAN>006 <IMG title=Глина alt="" src="graphic/lehm.png?1">41<SPAN class=grey>.</SPAN>306 <IMG title=Металл alt="" src="graphic/eisen.png?1">15<SPAN class=grey>.</SPAN>808 </TD>
<TD>175047</TD>
<TD>18573/20476</TD></TR>
<TR class="nowrap row_b" style="WHITE-SPACE: nowrap">
<TD><SPAN id=label_44444><A href="/game.php?village=44444&amp;screen=overview"><SPAN id=label_text_44444>Деревня варваров (183|231) К32</SPAN> </A></SPAN><SPAN id=edit_44444 style="DISPLAY: none"><INPUT id=edit_input_44444 value="Деревня варваров"> <INPUT onclick="editSubmitNew('label_44444', 'label_text_44444', 'edit_44444', 'edit_input_44444', '');" type=button value=OK> </SPAN></TD>
<TD>9<SPAN class=grey>.</SPAN>207</TD>
<TD align=middle><IMG title=Дерево alt="" src="graphic/holz.png?1">22<SPAN class=grey>.</SPAN>186 <IMG title=Глина alt="" src="graphic/lehm.png?1">12<SPAN class=grey>.</SPAN>137 <IMG title=Металл alt="" src="graphic/eisen.png?1">10<SPAN class=grey>.</SPAN>713 </TD>
<TD>400000</TD>
<TD>23758/24000</TD></TR>
<TR class="nowrap row_a" style="WHITE-SPACE: nowrap">
<TD><SPAN id=label_55551><A href="/game.php?village=55551&amp;screen=overview"><SPAN id=label_text_55551>Деревня варваров (181|231) К32</SPAN> </A></SPAN><SPAN id=edit_55551 style="DISPLAY: none"><INPUT id=edit_input_55551 value="Деревня варваров"> <INPUT onclick="editSubmitNew('label_55551', 'label_text_55551', 'edit_55551', 'edit_input_55551', '');" type=button value=OK> </SPAN></TD>
<TD>9<SPAN class=grey>.</SPAN>374</TD>
<TD align=middle><IMG title=Дерево alt="" src="graphic/holz.png?1">48<SPAN class=grey>.</SPAN>898 <IMG title=Глина alt="" src="graphic/lehm.png?1">67<SPAN class=grey>.</SPAN>623 <IMG title=Металл alt="" src="graphic/eisen.png?1">15<SPAN class=grey>.</SPAN>938 </TD>
<TD>400000</TD>
<TD>23786/24000</TD></TR></TBODY></TABLE>
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
serg-pl-1 [?]
Есть таблица из которой надо выловить ссылки.
Вот интересно, что вы подразумеваете под словом выловить?
1. получить все адреса ссылок
2. получить название ссылок (текст)
3. и то и другое
И ещё один вопрос, где выловить, в браузере, или вы напрямую обращаетесь к документу?

Код:
#include <IE.au3>
$oIE = _IECreate("http://ваш адрес страницы")
$oLinks = _IELinkGetCollection($oIE)
For $oLink In $oLinks
	ConsoleWrite($oLink.href & @CRLF)
Next


P.S. Кстати, на форуме, по вашему вопросу очень много разных примеров! Почему бы сначала не воспользоваться поиском?!
 
Автор
serg-pl-1

serg-pl-1

Новичок
Сообщения
14
Репутация
1
Мне надо получить все адреса ссылок в открытом окне браузера и только те что находятся в данной таблице а не все на странице.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
serg-pl-1 сказал(а):
Мне надо получить все адреса ссылок в открытом окне браузера и только те что находятся в данной таблице а не все на странице.
Код:
#include <IE.au3>
Opt("WinTitleMatchMode", 2)
$sWindowTitle = "Windows Internet Explorer" ; String to search for window
If WinExists($sWindowTitle)Then
	WinActivate($sWindowTitle)
	$oIE = _IEAttach($sWindowTitle,"WindowTitle")
	$oTable = _IEGetObjById ($oIE, "production_table")
	$oLinks = _IELinkGetCollection($oTable)
	For $oLink In $oLinks
		ConsoleWrite($oLink.href & @CRLF)
	Next
EndIf
 
Автор
serg-pl-1

serg-pl-1

Новичок
Сообщения
14
Репутация
1
Спасибо!

И ещё один вопрос на засыпку.

Как мне сделать так что бы скрипт висел в трее, и периодически, например раз в минуту, выполнял некоторые функции?
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Код:
AdlibRegister()
AdlibUnregister()

Справка подскажет
 

sunbeam_2001

Новичок
Сообщения
11
Репутация
1
Garrett, помогите, пожалуйста, разобраться.

Примерно та же проблема, но почему-то _IELinkGetCollection, взятый от объекта всё равно даёт коллекцию ссылок для всего документа.

Вот код:

Код:
$oInputs = _IETagNameGetCollection ($source, "table")
   For $oTable In $oInputs
	  If (StringInStr($oTable.classname, "table_cart_head_new")) Then
		 ExitLoop
	  EndIf
   Next
   Msgbox(0, "Table", _IEPropertyGet($oTable, "outerhtml"))

   $oLinks = _IELinkGetCollection($oTable)

   For $oLink In $oLinks
      	Msgbox(0, "Link", $oLink.href)
   Next


Первый Msgbox показывает, что я поймал действительно ту таблицу, что нужно, однако дальше цикл начинает шлёпать ссылки из всего документа.

Что не так?
 

sunbeam_2001

Новичок
Сообщения
11
Репутация
1
Блин, на почту не приходят уведомления об ответах!

madmasles, спасибо, обходной путь нашёл, было интересно, почему не работает или что делаю не так...
 
Верх