Попытка очистить диапазон

#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 на странице и снова найдя этот элемент, или просто «просмотреть исходный код страницы»