Как игнорировать несколько элементов в классе div при создании веб-страниц - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь очистить веб-сайт и хочу игнорировать несколько элементов в классе div

r = requests.get(
            f"https://www.ranger5g.com/forum/threads/pre-collision-assist.3239")

soup = BeautifulSoup(r.text, 'html.parser')

data=[]

for div in soup.findAll("div", class_="bbWrapper"):
            try:
                div.find('blockquote', class_="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote").extract()                  
            except AttributeError:
                 pass  
            try:
                div.find('bbCodeBlock-content').extract()
            except AttributeError:
                pass
            try:
                div.find("aside", class_="message-signature").extract()
            except AttributeError:
                pass
            result = [div.get_text(strip=True, separator=" ")]
            data.append(result)

мой вывод данных [2] должен выглядеть следующим образом

Subaru dealer by me uses an orange construction cone for demo. Find one and try it. Won’t hurt anything if it doesn’t work.

Но это дает все, что есть в предыдущем сообщении. Как я мог игнорировать элемент в классе _ = "message-signature", Как я могу получить это. Заранее спасибо

1 Ответ

0 голосов
/ 26 марта 2020
import requests
from bs4 import BeautifulSoup


def Main(url):
    r = requests.get(url)
    soup = BeautifulSoup(r.content, 'html.parser')
    target = soup.findAll(
        "div", class_="bbCodeBlock-expandContent")[2].get_text(strip=True)
    print(target)


Main("https://www.ranger5g.com/forum/threads/pre-collision-assist.3239/")

Выход:

Subaru dealer by me uses an orange construction cone for demo. Find one and try it. Won’t hurt anything if it doesn’t work. 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...