Как загрузить полную html со страницы Javascript - PullRequest
0 голосов
/ 01 августа 2020

Я хочу загрузить полную html веб-страницу, я написал для этого код. Однако, когда я go возвращаюсь и смотрю на загруженный html, я вижу, что там только около половины html. Я думаю, это потому, что веб-страница является динамической c и загружает больше информации, когда вы взаимодействуете со страницей. Я пытался использовать Phantom JS, чтобы сделать это в унисон с ChromeDriver Manager, но безуспешно. Это код, который загружает только некоторые из html (я снова верю, потому что страница динамическая c):

from bs4 import BeautifulSoup
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
import os
import re
import time

driver = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options)
driver.get(''https://medium.com/@benjaminhardy')
time.sleep(25)
html = driver.page_source
driver.close()

Это моя попытка с Phantom JS, но безуспешно:

driver = webdriver.Chrome(ChromeDriverManager().install().PhantomJS())
driver.get('https://medium.com/@benjaminhardy')
html = driver.page_source
time.sleep(25)
driver.close()

error:'str' object has no attribute 'PhantomJS'

Есть идеи? Спасибо!

1 Ответ

0 голосов
/ 01 августа 2020

Вы можете просто использовать библиотеку запросов. Например:

import requests

page = requests.get('https://medium.com/@benjaminhardy')

print(page.content)

Дополнительным преимуществом этого является то, что запросы предварительно связаны с python, поэтому вам не нужно ничего загружать дополнительно.

Если вы используете BeautifulSoup, просто используйте:

soup = BeautifulSoup(page.content)

Если это помогло, проголосуйте или отметьте как ответ: D

...