Как l oop div и получить текст в теге абзаца только с помощью BeautifulSoup и python? - PullRequest
0 голосов
/ 30 марта 2020

Я использую Beautifulsoup и python для сканирования веб-страницы и извлечения текста из тега абзаца только с веб-сайта. Это страница, которую я хочу сканировать Мне нужны все тексты во всех тегах абзаца.

Заранее спасибо

1 Ответ

0 голосов
/ 30 марта 2020

Всегда используйте селен в качестве крайней меры для экономии ресурсов.

from selenium import webdriver
url = 'https://www.who.int/csr/disease/coronavirus_infections/faq_dec12/en/'
driver = webdriver.Chrome()
try:
  driver.get(url)
  div_text = driver.find_element_by_id('primary').text
  with open('website_content.txt','w') as f:
    f.write(div_text)
except Exception as e:
  print(e)
finally:
  if driver is not None:
    driver.close()

Вы можете добиться того же с запросами и красивым супом следующим образом:

import requests as rq
from bs4 import BeautifulSoup


response  = rq.get(url)
if response.status_code == 200:
  soup = BeautifulSoup(response.text,'html.parser')
  div_text = soup.find('div',{'id':'primary'}).text
  with open('website_content.txt','w') as f:
    f.write(div_text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...