Я искал в Интернете ответ на этот вопрос, но до сих пор я не нашел совсем то, что искал.Пока что я могу открыть веб-страницу через веб-браузер Python, но я хочу знать, как загрузить файл HTML с той веб-страницы, которую Python попросил открыть браузер (в данном случае firefox).Это связано с тем, что существуют определенные веб-страницы с разделами, к которым я не могу получить полный доступ без определенного расширения / надстройки браузера (MetaMask), поскольку они также требуют входа в систему из этого расширения, что происходит автоматически, если я открываю firefox нормально или с помощьюмодуль веб-браузера.Вот почему запрос HTML с URL-адресом непосредственно из Python с кодом, подобным этому, не работает:
import requests
url = 'https://www.google.com/'
r = requests.get(url)
r.text
from urllib.request import urlopen
with urlopen(url) as f:
html = f.read()
Единственное решение, которое я получил до сих пор, - это открыть веб-страницу с помощью веб-браузерамодуль, а затем используйте модуль pyautogui, который я могу использовать, чтобы заставить мой компьютер автоматически нажимать Ctrl + S (горячие клавиши браузера Firefox, чтобы сохранить HTML-файл с веб-страницы, на которой я сейчас нахожусь), а затем заставить его нажимать ввод.
import webbrowser
import pyautogui
import time
def get_html():
url='https://example.com/'
webbrowser.open_new(url) #Open webpage in default browser (firefox)
time.sleep(1.2)
pyautogui.hotkey('ctrl', 's')
time.sleep(1)
pyautogui.press('enter')
get_html()
Однако мне было интересно, есть ли более изощренный и эффективный способ, который не включает симуляцию нажатия клавиш с помощью pyautogui.