Да, существуют библиотеки на Python, которые поддерживают обработку веб-страниц с использованием JavaScript без необходимости использования Selenium. Некоторые из них:
1. **Pyppeteer** (https://github.com/pyppeteer/pyppeteer): Это Python API для Puppeteer - Node.js библиотеки, которая предоставляет управление браузером Chrome (или другими браузерами на основе Chrome). Pyppeteer позволяет загружать и рендерить веб-страницы, а также выполнять JavaScript код на странице.
Пример использования Pyppeteer для получения содержимого веб-страницы:
```python
import asyncio
from pyppeteer import launch
async def get_page_content(url):
browser = await launch()
page = await browser.newPage()
await page.goto(url)
content = await page.content()
await browser.close()
return content
page_content = asyncio.get_event_loop().run_until_complete(get_page_content('https://example.com'))
print(page_content)
```
2. **Splash** (https://github.com/scrapinghub/splash): Это сценарий для браузерного рендеринга, который предоставляет HTTP API для обработки веб-страниц с использованием JavaScript. Splash написан на языке Lua и работает как отдельный сервер.
Пример использования Splash с помощью библиотеки `requests`:
```python
import requests
url = 'http://localhost:8050/render.html'
params = {
'url': 'https://example.com',
'wait': 0.5
}
response = requests.get(url, params=params)
page_content = response.text
print(page_content)
```
3. **Pyppu** (https://github.com/sensepipe/pyppu): Это библиотека, основанная на Pyppeteer, которая предоставляет простой API для загрузки и обработки веб-страниц с использованием JavaScript.
Пример использования Pyppu для получения содержимого веб-страницы:
```python
from pyppu import PyppuBrowser
with PyppuBrowser() as browser:
page = browser.newPage()
page.goto('https://example.com')
content = page.content()
print(content)
```
Эти библиотеки позволяют обрабатывать веб-страницы с использованием JavaScript на Python. Они предоставляют функционал, схожий с командами в requests и предлагают дополнительные возможности, связанные с обработкой JavaScript на странице.