Что нового

[Сеть, интернет] помогите с кодом парсера HTML странички

novosibirec

Новичок
Сообщения
16
Репутация
0
Помогите разобратья с работой IE.au3 на примере парсера! задача следующая!
есть сайт test.ru в коде странички есть такие строки
<div class="add"><a href="http://test.ru/news?message&to=XXX (их с десяток)
задача извлечь XXX (постоянно меняется) в текстовик и завершить работу скрипта по окончании парсинга! полазил по форуму нашел подходящие коды но немогу оптимизировать для своей задачи!
игрался вот с таким кодом
Код:
#include <ie.au3>
#Include <File.au3>
$url = 'http://stat.localserver.ru/adminion/index.py?action=main'
$oIE = _IECreate($url)
; когда точно поймешь что это работает. 
; можно попробовать $oIE = _IECreate($url, 0, 0)
; но нужно быть осторожным. ошибки тут не обрабатывали
; и ИЕ может разрастаться
$pattern = '<tr><td>Онлайн</td><td>(\d*)</td></tr>'
$oTable = _IETableGetCollection ($oIE, 1)
$aTableData = _IETableWriteToArray ($oTable)
_IEQuit($oIE)
_FileWriteToLine('L:\home\172.16.11.15\www\Data\SalesCompare.xml', 20, "<set value='" & $aTableData[1][1] & "' />", 1)
(взят с одной из тем)
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Re: [Сеть, интернет] помогите с парсингом странички

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


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

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

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

madmasles

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

$iCount = 0
$oIE = _IECreate('http://autoit-script.ru/index.php/topic,6161.0.html');, 0, 0)
If @error Then
	MsgBox(16, 'Error', 'Error')
	Exit
EndIf
For $i = 1 To 1
	$oTags = _IETagNameGetCollection($oIE, 'h5')
	If @error Then ExitLoop
	$iCountDivs = @extended
	Dim $aResult[$iCountDivs + 1][2]
	For $oTag In $oTags
		$oLink = _IETagNameGetCollection($oTag, 'a', 0)
		If @error Then ExitLoop
		$iCount += 1
		$aResult[$iCount][0] = $oLink.href
		$aResult[$iCount][1] = StringRegExpReplace($aResult[$iCount][0], '^.*#msg', '')
	Next
Next
If @error Then
	_IEQuit($oIE)
	MsgBox(16, 'Error', 'Error')
	Exit
EndIf
_IEQuit($oIE)
If $iCount Then
	ReDim $aResult[$iCount + 1][2]
	$aResult[0][0] = $iCount
	_ArrayDisplay($aResult, 'Результат')
Else
	MsgBox(16, 'Error', 'Ничего не нашли :(')
EndIf
 
Верх