Как получить HTML код в exe файле?

danforth
На сайте с 18.12.2015
Offline
153
#41
miltorg:
То есть Перл и тут побеждает?

Автор, перл уже давно проиграл. Он уже нигде не побеждает.

Аж стало интересно: вот пример программы на Go, которую написал примерно за 10 минут

  • Умеет в -help
  • Умеет во флаги -time 10 -url https://searchengines.guru/
  • Выводит в консоль дату, когда было замечено изменение страницы
  • Кроссплатформенная
  • Бинарное сравнение, никаких length

Итого в коде: 40 строк и 5мб бинарник.

Из минусов: так как на страницах часто генерируются всякие _csrf токены, и прочие спрятанные инпуты с рандомным значением, в большинстве случаев определяет страницу как модифицированную.

За минут 5-10 можно дописать, чтобы программа принимала порог изменения в процентах от нуля до ста, и на основании расчета, писала или не писала в лог. Да и файл тоже можно прикрутить.

Отвечая на вопрос автора: получение html содержимого страницы с помощью одной строки возможно.

response, err := http.Get("http://site.ru")
Junior Web Developer
K0
На сайте с 01.09.2016
Offline
66
#42
miltorg:
HTML -> длинна
Пауза
HTML -> длинна1

Сигнал Если д1!=д

C# 4кб в скомпилированном виде. При этом сравнивается не длина, а все же какая-никакая хеш-функция:

using System;

using System.Threading;
using System.Net;

class App
{
static void Main()
{
int? h = null;
while (true)
{
if ((h != null)&(h != (h = new WebClient().DownloadString("http://www.blablabla.ru/test.html").GetHashCode()))) Console.Beep();
Thread.Sleep(3000);
}
}
}
Само получение строки с URL здесь в одну строку:
new WebClient().DownloadString("http://www.blablabla.ru/test.html")
D
На сайте с 07.11.2000
Offline
219
#43
danforth:
Автор, перл уже давно проиграл. Он уже нигде не побеждает.
Аж стало интересно: вот пример программы на Go, которую написал примерно за 10 минут

Сейчас изучаю GO. Крайне приятный и быстрый язык. Особенно радуют рутины.

Но, в защиту Perl - Перл побеждает Go в регулярках. Вообще Перл быстро работает с регулярками и хешами (мапы в го). И код для работы с регулярками - лаконичный. Т.е. он до сих пор идеально подходит для парсинга текста.

Написал простейший парсер файла с логами (десять строк: разбор регуляркой строки лога и запись в хеш) на GO и решил посмотреть насколько будет быстрее компилируемый язык, чем интерпретатор Перл.

Насколько же было велико мое разочарование, когда оказалось, что Перл заметно быстрее (примерно на 40%). Сравнивал в одном потоке, разумеется. В GO использовал MustCompile (и пробовал вариант с MustCompilePOSIX). В итоге, конечно, переписал код на GO без регулярок - и обошел по скорости Перл. Но, для быстрого решения некоторых задач - Перл еще рано списывать.

danforth
На сайте с 18.12.2015
Offline
153
#44

Dimka, c Perl не особо знаком. Когда-то давным давно сталкивался с ним, на уровне "подправить", но не изучал. Регулярки - единственная (если мне не изменяет память) часть, которая у Go пока подкачивает. Вроде в 1.9.x (beta) их ускорили.

D
На сайте с 07.11.2000
Offline
219
#45

Вообще да, Go быстр, в т.ч. и по времени компиляции.

Кстати, по этим тестам http://attractivechaos.github.io/plb/ на несложных регулярках вида

([a-zA-Z][a-zA-Z0-9]*)://([^ /]+)(/?[^ ]*)

Перл обходил все языки в списке. В т.ч. Си.

RiDDi
На сайте с 06.06.2010
Offline
256
#46

невероятно

перл работает быстрее, чем си с подключенной перл-библиотекой

Вебмастер отдыхает на бережках морей. Заработок в интернете - дело техники.
[Удален]
#47

Я открыл ещё один язык:

5. VBS:

Function GetHTMLText ( byval strURL )

'Set MyBrowser = CreateObject("MSXML2.XMLHTTP")

Set MyBrowser = CreateObject("MSXML2.ServerXMLHTTP.6.0")

MyBrowser.Open "GET", strURL, False

MyBrowser.send

If MyBrowser.status = 200 Then GetHTMLText = MyBrowser.responseText

Set MyBrowser = Nothing

End Function

html = GetHTMLText ("http://google.ru")

Wscript.Echo html

Источник: https://chajnik.ru/html-kod

---------- Добавлено 09.01.2017 в 09:11 ----------

Весит - вообще ничего. Запускается сразу. Не требует компиляции.

---------- Добавлено 09.01.2017 в 09:13 ----------

Теперь давайте я сделаю что-нибудь полезное.

Определение ТИЦ для кучи сайтов - это полезное?

Или что сделать?

---------- Добавлено 09.01.2017 в 09:22 ----------

Написал:

5. VBS

Function GetHTMLText ( byval strURL )

'Set MyBrowser = CreateObject("MSXML2.XMLHTTP")

Set MyBrowser = CreateObject("MSXML2.ServerXMLHTTP.6.0")

MyBrowser.Open "GET", strURL, False

MyBrowser.send

If MyBrowser.status = 200 Then GetHTMLText = MyBrowser.responseText

Set MyBrowser = Nothing

End Function

Dim adr

adr = Array ("http://chajnik.ru", "http://prohorov-andrej.ru", "/")

Set objRegExp = CreateObject("VBScript.RegExp")

For i = 0 to 2

html = GetHTMLText ("http://bar-navig.yandex.ru/u?ver=2&url="&adr(i)&"&show=1")

objRegExp.Pattern = "value=.\d+"

Set objMatches = objRegExp.Execute(html)

Set objMatch = objMatches.Item(0)

v=objMatch.Value

v = Replace(v, "value=""", "")

uu=uu & adr(i)& " --- " & v & vbCrLf

Next

MsgBox uu

https://yadi.sk/d/hgPv8FUm37uiCq

Источник: https://chajnik.ru/tic-site

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий