#python #html #beautifulsoup #screen-scraping
#python #HTML #beautifulsoup #очистка экрана
Вопрос:
Я пытался очистить два значения с веб-сайта, используя beautiful soup на Python, и это доставляло мне проблемы. Вот URL страницы, которую я очищаю:https://www.stjosephpartners.com/Home/Index
Вот значения, которые я пытаюсь очистить: HTML веб-сайта, который нужно очистить
Я пытался:
from bs4 import BeautifulSoup
import requests
source = requests.get('https://www.stjosephpartners.com/Home/Index').text
soup = BeautifulSoup(source, 'lxml')
gold_spot_shell = soup.find('div', class_ = 'col-lg-10').children
print(gold_spot_shell)
результат, который я получил, был: <list_iterator object at 0x039FD0A0>
Когда я попытался использовать: gold_spot_shell = soup.find('div', class_ = 'col-lg-10').children
Вывод был: ['n']
когда я попытался использовать: gold_spot_shell = soup.find('div', class_ = 'col-lg-10').span
Вывод был: none
В HTML определенно есть хотя бы один дочерний элемент span. Я не уверен, как очистить значения, которые мне нужны. Спасибо.
Ответ №1:
Beautifulsoup
Request
не является хорошим методом для очистки динамического веб-сайта, подобного этому. Этот диапазон генерируется javascript, поэтому, когда вы получаете html с помощью запроса, он просто не существует.
Вместо этого вы можете попробовать использовать selenium.
Вы можете проверить, использует ли веб-сайт javascript для отображения элемента или нет, отключив javascript на странице и снова найдя этот элемент, или просто «просмотреть исходный код страницы»