@ganstar565

Как получить url страницы и какие есть способы изменять html код через python?

Моя цель: Написать скрипт который будет переводить страницу открытую в браузере.
Первой задачей стало получение ссылки на текущую страницу. Единственный способ который я нашёл - скринить экран и доставать ссылку с помощью pytesseract
spoiler
import pyautogui
import pytesseract
import os 
from time import sleep

pytesseract.pytesseract.tesseract_cmd = r"E:\code\tests\tesseract\tesseract.exe"

def get_url():
    #Скриним экран
    screenshot = pyautogui.screenshot()
    
    # Распознаем текст на изображении
    text = pytesseract.image_to_string(screenshot)

    # Поиск строки, содержащей "http" или "www"
    for line in text.split('\n'):
        if 'http' in line or 'www' in line or '.com' in line or '.ru' in line:
            print(line)
            break


if __name__ == "__main__":
    get_url()

но работает это через раз, так что решил обратится за помощью, какие ещё вы знаете способы решить эту задачу?
Вывод:
spoiler
(tests) E:\code\tests>python test.py
C  @ qnahabr.com

(test) E:\code\tests>python test.py

(tests) E:\code\tests>python test.py
@ qna.habr.com/question/new

(tests) E:\code\tests>python test.py
@ qna.habr.com/question/new

(tests) E:\code\tests>python test.py
€ CG @ qnahabr.com/question/new aexy FHL @

(tests) E:\code\tests>python test.py
@ qna.habr.com/question/new


Вторая задача с которой у меня возникли трудности - изменение html кода текущей страницы.
Можно конечно просто спарсить html, перевести текст и открыть переведенную страницу в новой вкладке, но хотелось бы обойтись без новой вкладки, да и в этом случае отлетит CSS, а это лишит смысла весь скрипт.
  • Вопрос задан
  • 298 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Ты упускаешь из виду, что современные страницы часто набиты скриптами, да и банальную необходимость авторизации на сайте. Иными словами, если ты через requests запросишь тот же URL, далеко не факт что ты получишь ту же самую страницу. Тут нужно само содержимое страницы вытаскивать. А оно может быть большое, так что лучше уж выбранный текст.
Это проще всего сделать через браузерное расширение. Альтернатива - добавить окошко/иконку на панель задач/в трей, куда можно будет перетащить выделенный текст.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы