Как парсить веб-сайты, отображаемые на JavaScript?Python

Программы на Python
Anonymous
Как парсить веб-сайты, отображаемые на JavaScript?

Сообщение Anonymous »

Я не могу получить весь HTML-код этой страницы, который хочу преобразовать в PDF. Я также пробовал с Selenium, Puppeteer и Splash, но у меня ничего не получилось.
Я получил только короткий HTML-код, не имеющий ничего общего с содержимым отображаемых страниц
Селен

Код: Выделить всё

from selenium import webdriver
# from selenium.webdriver.chrome.service import Service
from selenium.webdriver.edge.service import Service
# from selenium.webdriver.chrome.options import Options
from selenium.webdriver.edge.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time

# Setează opțiunile pentru Chrome
chrome_options = Options()
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
chrome_options.add_argument("--start-maximized")

# Setează un user-agent uman
chrome_options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0")
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
chrome_options.add_argument("--disable-blink-features")
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-plugins-discovery")
chrome_options.add_argument("--profile-directory=Default")
chrome_options.add_argument("--incognito")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--remote-debugging-port=9222")

# Inițializează driverul
service = Service('msedgedriver.exe')
driver = webdriver.Chrome(service=service, options=chrome_options)

# Manipularea navigator.webdriver
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")

# Setează anteturi HTTP adiționale (optional, dacă este necesar)
# Note: Selenium nu suportă direct setarea anteturilor HTTP adiționale în toate situațiile,
# dar poți folosi extensii de browser sau proxys pentru acest lucru.

# Navighează la URL
driver.get('https://www.sec.gov/ix?doc=/Archives/edgar/data/0000726728/000072672824000047/o-20231231.htm')

# Așteaptă puțin pentru a se asigura că tot conținutul este încărcat
time.sleep(5)

# Extragerea HTML-ului complet al paginii
html = driver.page_source
print(html)

# Închide driverul
driver.quit()

Я не знаю, что мне делать, чтобы получить html со страницы в javascript, мне нужно извлечь несколько страниц, чтобы преобразовать их в pdf, я также пытался найти тег из html, но он не сработал, потому что он определяет, что мой браузер находится под контролем программного обеспечения, и не показывает мне html, где я могу найти этот тег, селектор или xpath

Подробнее здесь: https://stackoverflow.com/questions/786 ... d-websites

Вернуться в «Python»