BeautifulSoup находит данные с помощью двух разных классов div - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь разобрать эту html-страницу, и мне нужны конкретные данные на этой странице.Я использую функцию findall для этого конкретного класса.Единственная проблема заключается в том, что он собирает ненужные данные на стороне веб-сайта из-за конфликтующих классов.Я в основном хочу сделать findall для классов div, которые содержат mainContent и имя класса элемента.Я только нашел, как найти классы, которые содержат «пусто» или «пусто».Каков будет синтаксис попытки найти то, что имеет имя класса «blank» и «blank»?Спасибо!

1 Ответ

0 голосов
/ 24 июня 2018

Используйте css селекторы вместо find_all ():

#! /usr/bin/env python3
# -*- coding: UTF8 -*-from bs4 import BeautifulSoup

html_doc = """
<!DOCTYPE html>
<html lang="en-US">
<head>
  <title>test</title>
</head>
<body>
  <div class="alpha">not a match.</div>
  <div class="beta">not a match.</div>
  <div class="alpha beta">match.</div>
  <div class="beta alpha">match.</div>
  <p class="alpha beta">not match.</div>
</body>
</html>
"""

soup = BeautifulSoup(html_doc, 'html.parser')

print(soup.select("div.alpha.beta"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...