Войти

Показать полную графическую версию : [решено] Получить заголовок страницы в Интернете


Страниц : 1 [2]

Iska
05-04-2017, 13:20
Это ещё не всё :):
$sURL = 'https://koi8.pp.ru/'

Паразит
05-04-2017, 13:35
Iska, а почему не работает? Потому что кодировка?
Или robots.txt не позволяет?
Или слишком сложная доменная структура?

Iska
05-04-2017, 13:45
Iska, а почему не работает? Потому что кодировка? »
Потому что там KOI-8.

Паразит
05-04-2017, 13:52
Я думаю, что сайтов с такой кодировкой уже почти не существует

Iska
05-04-2017, 14:42
Угу: Usage Statistics of Character Encodings for Websites, April 2017 (https://w3techs.com/technologies/overview/character_encoding/all). Но они есть. И, видите ли… уже почти не существует машин на Windows XP, но те, что есть, приходится учитывать. Так и тут — если рассматривать вопрос не в каком-то частном контексте, а в целом.

Creat0R
06-04-2017, 02:08
почему не работает? »
Потому что там тег TITLE (заглавными буквами), а в регулярке поиск по умолчанию чувствительный к регистру букв (нужно в начало добавлять (?i)).

Что касается кодировки, то это тоже можно решить (но здесь это не требуется):

#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <Encoding.au3>

$sURL = 'https://koi8.pp.ru/'

$sHtml = BinaryToString (http://www.autoitscript.com/autoit3/docs/functions/BinaryToString.htm)(InetRead (http://www.autoitscript.com/autoit3/docs/functions/InetRead.htm)($sURL))
$aTitle = StringRegExp (http://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm)($sHtml, '(?i)<title>(.*?)</title>', 3)

If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) @error (http://www.autoitscript.com/autoit3/docs/macros.htm#@error) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
$sTitle = (_Encoding_IsUTF8Format($aTitle[0]) ? BinaryToString (http://www.autoitscript.com/autoit3/docs/functions/BinaryToString.htm)(StringToBinary (http://www.autoitscript.com/autoit3/docs/functions/StringToBinary.htm)($aTitle[0]), 4) : $aTitle[0])
$sTitle = (_Encoding_GetCyrillicANSIEncoding($sTitle) = 'KOI8-R' ? _Encoding_KOI8To1251($sTitle) : $sTitle)

MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(0, @ScriptName (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptname), $sTitle)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)

Библиотеку Encoding.au3 брать отсюда (http://autoit-script.ru/index.php?topic=510.0).




© OSzone.net 2001-2012