Microsoft Edge WebView2

[ Версия для печати ]
Добавить в Telegram Добавить в Twitter Добавить в Вконтакте Добавить в Одноклассники
Страницы: (4) 1 [2] 3 4   К последнему непрочитанному [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]
Kotofanchik
29.03.2024 - 10:13
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
DanilovIlya


Если в cmd или powershel запускаю скрипт, > import webbrowser
import : Имя "import" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте пр
авильность написания имени, а также наличие и правильность пути, после чего повторите попытку.
строка:1 знак:1
и сплошные "не поддерживается в данной версии языка"

Это сообщение отредактировал Kotofanchik - 29.03.2024 - 10:15
 
[^]
Kotofanchik
29.03.2024 - 10:27
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
Я проверил если питон в виндов как прочитал в энторнетах.
Мне ответило piton Хотя должно было ответить с номером версии. я решил, что видимо есть старая версия. скачал установочный файл и выполнил инструкцию с сайта по установке. мне написало перевести биткоины для сохранения информации на дисках, тьфу просто опять ответило piton и все.
Windows PowerShell

PS C:\pithon> python get-pip.py
Python
PS C:\pithon> python --version
Python
PS C:\pithon> pip install undetected-chromedriver
pip : Имя "pip" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильн
ость написания имени, а также наличие и правильность пути, после чего повторите попытку.
строка:1 знак:1
+ pip install undetected-chromedriver
+ ~~~
+ CategoryInfo : ObjectNotFound: (pip:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

PS C:\pithon>

Это сообщение отредактировал Kotofanchik - 29.03.2024 - 10:29
 
[^]
joshik
29.03.2024 - 10:59
0
Статус: Offline


Весельчак

Регистрация: 10.06.12
Сообщений: 118
Цитата (kiwy @ 28.03.2024 - 23:35)
Цитата (vstgod @ 28.03.2024 - 20:32)
А зачем эти танцы с бубнами , вызываем wget с нужными параметрами и как бы всё...

ну на винде что wget что curl не очень работают
ТС глянь такую штуку как webscraper. И ты того, с виндой завязывай. Нервы дороже!

Так cygwin же idea.gif
 
[^]
Kotofanchik
30.03.2024 - 09:01
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
Сайт снял требование капчи и можно сравнить два виджета с погодой с сайта и из API Gismeteo. Смотреть на два левых прямоугольничка. Видно что данные похожи, но отличаются. Верхний левый это API. И он считает что в 9 утра еще ночь. Именно так в передаваемых данных - n.moon.c3 Тоесть ночь луна облачность 3
Ну и справа прогнозы вверху финская форека, внизу отечественный яндекс.

Microsoft Edge WebView2
 
[^]
Kotofanchik
3.04.2024 - 17:02
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
Подключил одного специалиста, он долго честно бился. Но у него нет больше времени разбираться.
Может здесь помогут.
есть такой скрипт. Он дописывает новые данные в конец файла Data.txt.
Мне совершенно не подходит, но человек больше не выходит на связь, может и выйдет, но он уже написал, что он всё. :) Имеет право, он и так много сделал просто так.
Код
<!DOCTYPE html>
<html>
 <body style="margin: 0; background-color: red;">
   <script>
     var r = new XMLHttpRequest();
     r.onreadystatechange = function()
     {
       if (r.readyState == 4 && r.status == 200)
       {
         let page = r.response, file = RainmeterAPI.GetVariable('CURRENTPATH') + 'DownloadFile\\Data.txt';
         let bang = '[!WriteKeyValue Variables Page2 """' + page + '""" "' + file + '"][!EnableMeasure Data2][!UpdateMeasure Data2][!CommandMeasure Data2 "Update"]';
         RainmeterAPI.Bang(bang);
       };
     };
     r.open('GET', 'https://api.allorigins.win/get?url=' + encodeURIComponent('https://www.gismeteo.ru/weather-yefremov-4434/'), true); r.responseType = 'text'; r.send();
   </script>
 </body>
</html>

Можно ли переделать, чтобы новые данные стирали предыдушие?

Это сообщение отредактировал Kotofanchik - 3.04.2024 - 17:03
 
[^]
Kotofanchik
3.04.2024 - 18:49
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
Вобщем ответили. Оказывается задумано, что будет перезапись, но работает не правильно. Что делать непонятно.
В rainmeter можно использовать luascript
Может есть знатоки как в нем пишется команда стереть содержимое файла по определенному пути?
В найденных мной примерах и описаниях я понял ровным счетом ничего.
Файл удалять нельзя. Создавать файлы rainmeter не умеет.
 
[^]
Aberrant
3.04.2024 - 19:59
0
Статус: Offline


На фоксе! Всегда!

Регистрация: 3.10.20
Сообщений: 2779
Цитата (Kotofanchik @ 3.04.2024 - 18:49)
Может есть знатоки как в нем пишется команда стереть содержимое файла по определенному пути?

Код
-- это комментарий

local file=io.open('Data.txt','w+')
-- вызываем функцию io.open и передаём в неё путь к файлу,
а так же аргумент отвечающий за режим - в твоём случае нужен режим "w", т.е. перезапись содержимого, всё это попадает в локальный объект "file", а "+" после "w" нужен, чтобы "Data.txt" был создан если его не существовало на момент вызова функции.

-- теперь запишем что-то в "file"
file:write('-- комментарий или\n')

-- ...или то, что находится в переменной "data", а "\n", это просто "новая строка"
file:write(data,'\n')

-- закрываем "файл" (но сам объект не уничтожен, так что можешь его повторно использовать)
file:close()

я не силён в lua, так что в синтаксисе мог ошибиться, код не проверял, но почти уверен, что всё так и есть

Это сообщение отредактировал Aberrant - 3.04.2024 - 20:04
 
[^]
Kotofanchik
3.04.2024 - 21:10
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
Цитата (Aberrant @ 3.04.2024 - 19:59)
но почти уверен, что всё так и есть

Быстро не проверю, так как одновременно разные варианты пробую. путаюсь в них удаляю нужное и оставляю не нужное. :) Короче развлекаюсь во всю прыть.
Я сам пробовал нечто подобное, но что-то пошло не так, не дружу со скриптами совершенно. Все эти символы кавычки, я нажимаю не те кнопки, делаю не нужные пробелы, не делаю нужные и прочее.
Как что-то выйдет или нет, отпишусь. спасибо.
 
[^]
Aberrant
3.04.2024 - 21:35
0
Статус: Offline


На фоксе! Всегда!

Регистрация: 3.10.20
Сообщений: 2779
ну, я проверил, вроде бы работает

файл создаётся и если уже есть, то перезаписывается

Это сообщение отредактировал Aberrant - 3.04.2024 - 21:40

Microsoft Edge WebView2
 
[^]
Kotofanchik
3.04.2024 - 22:19
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
Цитата (Aberrant @ 3.04.2024 - 21:35)
ну, я проверил, вроде бы работает

файл создаётся и если уже есть, то перезаписывается

Вылезла более серьезная проблема.
Исходно я хотел, чтобы райнметер переходил на указанный сайт за счет плагина webview2 и сохранял содержимое сайта в текстовый файл. человек который уже имел дело с webwiev2 взялся делать. Но я не знал что команды сохранить в файл не существует из-за ограничений майкрософт (это может сделать пользователь через меню браузера, но команды нет), это мне потом объяснили. Этот человек сделал обходной маневр, webwiev2 открывает локальную вебстраничку со скриптом, который открывает нужный сайт. Только в процессе сайт перестает видеть, что он работает с браузером webwiev2 и никакого смысла в этом уже нет. Сайт с погодой видит обращение неизвестного браузера и если на нем работает защита от clodflare, то ее обойти похоже не выйдет.
 
[^]
Aberrant
3.04.2024 - 22:51
-1
Статус: Offline


На фоксе! Всегда!

Регистрация: 3.10.20
Сообщений: 2779
ты пытаешься заставить webwiev2 сохранять файл, но он отказывается?

ну и хуй с ним и со всеми мелкомягкими.
пусть не сохраняет.
пусть просто запомнит содержимое в буфер,
а ты буфер читай уже чем-то другим, например тем, чем будешь парсить сайт.
 
[^]
Aberrant
3.04.2024 - 23:02
-1
Статус: Offline


На фоксе! Всегда!

Регистрация: 3.10.20
Сообщений: 2779
и зачем тебе вообще понадобился этот webview2?
тот же пайтон умеет сразу всё - и откроет юрл, и прикинется браузером, и распарсит всё как нужно...

погугли что-то вроде "python requests"
 
[^]
Kotofanchik
3.04.2024 - 23:05
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
Цитата (Aberrant @ 3.04.2024 - 22:51)
ты пытаешься заставить webwiev2 сохранять файл, но он отказывается?

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

В ручную то он сохраняет нормально. Я жму сохранить и все как и должно сохраняется.
Но процесс надо автоматизировать и тут затык, нет команды сохранить. Какое то ограничение на четыре буквы, которое не позволяет программам и особенно браузерам самим записывать.
А как читать буфер? где он
 
[^]
Kotofanchik
3.04.2024 - 23:07
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
Я поискал и чет не понял как там найти чтонибудь. последний раз в опере 9 искал кешированные видеофайлы.
 
[^]
Aberrant
3.04.2024 - 23:11
-1
Статус: Offline


На фоксе! Всегда!

Регистрация: 3.10.20
Сообщений: 2779
Цитата (Kotofanchik @ 3.04.2024 - 23:05)
А как читать буфер? где он

понятия не имею.
ибо не знаю что вы там делаете и чем.

если на JS, то кури про navigator.clipboard.writeText()

я всё же думаю, что инструмент выбран не правильно и WebView2 тут как непришейкпиздерукав
 
[^]
Aberrant
3.04.2024 - 23:23
-1
Статус: Offline


На фоксе! Всегда!

Регистрация: 3.10.20
Сообщений: 2779
Цитата (Kotofanchik @ 3.04.2024 - 23:07)
Я поискал и чет не понял как там найти чтонибудь. последний раз в опере 9 искал кешированные видеофайлы.

забудь вообще про WebView2 и про браузеры.
ты не правильно сформулировал задачу, а потому теперь страдаешь хуйнёй.

браузер тебе не нужен, тебе нужно только прикинуться браузером.

ты же потом собираешься парсить полученную страничку,
ну так пусть браузером прикидывается тот, кто будет парсить страничку.

если он не умеет прикидываться браузером,
значит это плохой инструмент и его нужно выбросить.

бери другой.

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

просто уложи в коротенький python-скрипт следующее:

1. requests - прикинется браузером, любым!

2. BeautifulSoup - распарсит и вытянет тебе любые данные из странички

3. ... дальше по обстоятельствам, но всё тут же, на месте - пайтон справится.
 
[^]
orander
3.04.2024 - 23:29
0
Статус: Offline


Приколист

Регистрация: 16.01.15
Сообщений: 384
Со всеми селениумами, weget'ами и curl'ами есть одна неприятная вещица.
За гисметео говорить не буду, у него свои алгоритмы, но в общем схема работы подобных сайтов такая:
- человек открывает страницу
- на клиенте скрипт получает геопозицию (если запрещено, то по умолчанию может стоять Кремль)
- дальше этот скрипт отправляет запрос на сервер с указанием геопозиции и в ответ получает необходимые данные
- полученные данные трансформируются в картинки, буковки и циферки, понятные человеку
Так вот селениумы, weget'ы и curl'ы не всегда корректно отрабатывают эти скрипты, если вообще отрабатывают. weget'ы и curl'ы вообще изначально планировались как утилиты для транспортировки, а не обработки ресурсов.

ТС'у могу посоветовать сделать локально html-ку, в которой скрипт подгрузит в какой-нибудь фрейм страницу гисметео и дальше уже ее мутить на предмет сохранения. Жаль только что ТС далек от этого всего.
 
[^]
Kotofanchik
3.04.2024 - 23:43
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
Цитата (orander @ 3.04.2024 - 23:29)
ТС'у могу посоветовать сделать локально html-ку, в которой скрипт подгрузит в какой-нибудь фрейм страницу гисметео и дальше уже ее мутить на предмет сохранения.  Жаль только что ТС далек от этого всего.

Именно это мне и сделали. только это работает хуже встроенного webparser который умеет прикидываться браузером тоже. useragent, флаги разные можно передавать им. но это не дает обойти cloudflare. А webwiev2 просто открывает страницу и ему даже капч не предъявляют почему-то.

Это сообщение отредактировал Kotofanchik - 3.04.2024 - 23:44
 
[^]
Aberrant
3.04.2024 - 23:44
1
Статус: Offline


На фоксе! Всегда!

Регистрация: 3.10.20
Сообщений: 2779
Цитата (orander @ 3.04.2024 - 23:29)
Со всеми селениумами, weget'ами и curl'ами есть одна неприятная вещица.
За гисметео говорить не буду, у него свои алгоритмы, но в общем схема работы подобных сайтов такая:
- человек открывает страницу
- на клиенте скрипт получает геопозицию (если запрещено, то по умолчанию может стоять Кремль)
- дальше этот скрипт отправляет запрос на сервер с указанием геопозиции и в ответ получает необходимые данные
- полученные данные трансформируются в картинки, буковки и циферки, понятные человеку
Так вот селениумы, weget'ы и curl'ы не всегда корректно отрабатывают эти скрипты, если вообще отрабатывают. weget'ы и curl'ы вообще изначально планировались как утилиты для транспортировки, а не обработки ресурсов.

ТС'у могу посоветовать сделать локально html-ку, в которой скрипт подгрузит в какой-нибудь фрейм страницу гисметео и дальше уже ее мутить на предмет сохранения. Жаль только что ТС далек от этого всего.

зачем предполагать, если можно проверить?

открываем в хоромо-подобном браузере юрл https://www.gismeteo.ru/
затем в адресной строке жмём на "замочек" и в меню выбираем "настройки сайта",
там отключаем геопозицию и яваскрипт,
там же удаляем кукисы этого сайта,
закрываем окошко, жмахаем Ctrl+F5
и вуаля! всё работает без кукисов и без JS

значит нам годится всё что угодно, но только нужно в заголовке передать нужный User-Agent
 
[^]
Kotofanchik
3.04.2024 - 23:50
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
Цитата (Aberrant @ 3.04.2024 - 23:44)
значит нам годится всё что угодно, но только нужно в заголовке передать нужный User-Agent

Ошибка. это вот сейчас он открывается. сейчас он и webparser читается без проблем. и не нужно ничего изобретать. А всю субботу и четверг на нем работала cloudflare. Она и на ЯП иногда бывает, но не всегда.
А когда эта вспышка в деле, то появляется окно которое пишет сейчас мы проверяем человек ли вы. и вебпарсер обламывается.
 
[^]
Kotofanchik
3.04.2024 - 23:53
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
Вот Selenium Chromedriver возможно поможет, я видел как он обходит вспышку, но я не знаю как его использовать. А webwiev имеет готовый плагин в rainmeter.
 
[^]
Aberrant
4.04.2024 - 00:16
-1
Статус: Offline


На фоксе! Всегда!

Регистрация: 3.10.20
Сообщений: 2779
Цитата (Kotofanchik @ 3.04.2024 - 23:50)
Цитата (Aberrant @ 3.04.2024 - 23:44)
значит нам годится всё что угодно, но только нужно в заголовке передать нужный User-Agent

Ошибка. это вот сейчас он открывается. сейчас он и webparser читается без проблем. и не нужно ничего изобретать. А всю субботу и четверг на нем работала cloudflare. Она и на ЯП иногда бывает, но не всегда.
А когда эта вспышка в деле, то появляется окно которое пишет сейчас мы проверяем человек ли вы. и вебпарсер обламывается.

и чем тогда тебе поможет WebView2? lol.gif

нее.
то, что в WebView2 тебя не проверяли, это чистой воды совпадение или правильно переданный UA

вот, набросал на пайтоне запрос этой странички и сохранение в файл (хотя, тебе то сохранять вроде и не нужно, а нужно тут же парсить её)

Код
import requests
response = requests.get('https://www.gismeteo.ru/',
headers = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'})
with open("gis.html", "w") as f: f.write(response.text)

и всё же просто, без всяких окон и пр. мутотени.
 
[^]
Kotofanchik
4.04.2024 - 00:54
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
C:\Users\RmicroN>C:\python\py.py
Traceback (most recent call last):
File "C:\python\py.py", line 1, in <module>
import requests
ModuleNotFoundError: No module named 'requests'

чё он еще хочет?

Это сообщение отредактировал Kotofanchik - 4.04.2024 - 00:56

Microsoft Edge WebView2
 
[^]
Kotofanchik
4.04.2024 - 01:06
0
Статус: Offline


Ярила

Регистрация: 16.12.18
Сообщений: 3495
Только я не уверен, что при работе CloudFlare будет ответ. Но если получится запустить, почему бы и нет. Пока что-то не сработало.
а так у webparser тоже и я разные пробовал. С клоудфларе не прокатывает да и не может. Так как браузеры тоже сами не заходят пока галку не поставишь, что ты человек. Единственный который заходит сам именно webwiev2, даже edge, частью которого webwiev, не может зайти пока не поставишь галку

Это сообщение отредактировал Kotofanchik - 4.04.2024 - 01:09

Microsoft Edge WebView2
 
[^]
Aberrant
4.04.2024 - 01:16
-1
Статус: Offline


На фоксе! Всегда!

Регистрация: 3.10.20
Сообщений: 2779
Цитата (Kotofanchik @ 4.04.2024 - 00:54)
чё он еще хочет?

Код
ModuleNotFoundError: No module named 'requests'
модуль он хочет, которого у тебя не стоит lol.gif
 
[^]
Понравился пост? Еще больше интересного в Телеграм-канале ЯПлакалъ!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 4648
0 Пользователей:
Страницы: (4) 1 [2] 3 4  [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]


 
 



Активные темы






Наверх