Что нового

[Сеть, интернет] Параметр _StringBetween всегда равен 0 или вообще ничего не возвращает

louie1743shkirondo

Новичок
Сообщения
28
Репутация
0
Есть задача:
Брать HTML-код вк-страницы и находить статус на этой странице...
Всё идёт хорошо до момента, когда нужно найти этот самый статус. Вот сам код:

Код:
#include <IE.au3>
#include <String.au3>
#include <FileConstants.au3>

$FilePath = "Путь к txt-файлу, куда будет скинут HTML-код" ; Иначе у меня не получалось сделать, вместо русских букв были непонятные символы...
$FilePathStats = "Путь к файлу, куда статусы будут записываться"
$Shell = "ссылка на страницу"
$Inet = _IECreate($Shell)

$Start = '<span class="current_text">'     ; Это есть параметры для _StringBetween
$End = '</span>'

$Source = _IEPropertyGet($Inet, "innerhtml")   ; Использую такой метод, ибо InetRead выдаёт "другой" HTML-код
$Source = BinaryToString($Source)   ; Вроде это было бесполезное действие... (Поправьте, если не так)

FileOpen($FilePath, 2)    
FileWrite($FilePath, $Source)
FileClose($FilePath)         ; Тут я не очень уверен, так как по логике файл нужно закрыть, чтобы сохранить, дабы у меня был тот самый HTML-код 
FileOpen($FilePath)          ;      (Хотя мало ли он автоматически сохраняется)
$FileRead = FileRead($FilePath)
$Text = _StringBetween($FileRead, $Start, $End)   ; [color=red]ВСЯ ПРОБЛЕМА ЗАКЛЮЧАЕТСЯ В ЭТОМ[/color]. Что бы я ни пробовал, все равно $Text имеет значение 0 или ""

FileClose($FilePath)
FileOpen($FilePathStats)

For $i In $Text
   FileWrite($FilePathStats, $Text & @CRLF)
Next


P.S.
Я имею не очень-таки большой опыт в Autoit и буду рад любой вашей помощи...
Да, чуть не забыл, если проворачивать тоже самое с youtube(В частности, брать play-list HTML-код), не используя никаких переменных, то всё работает слаженно...
И простите за шероховатости, которые вы можете встретить в моём "коде"(Если его так можно назвать :rofl:), если вдруг их увидите, прошу помочь в их исправление.
Спасибо ;D
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.






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

Код:
#include <IE.au3>
#include <Array.au3>
#include <String.au3>

$oIE = _IECreate('ya.ru')

$sIn = '<DIV class=b-inline>'
$sOut = '</DIV>'

$sHTML = _IEPropertyGet($oIE, "innerHTML")
$aHTML = _StringBetween($sHTML, $sIn, $sOut)
_ArrayDisplay($aHTML)
 
Верх