Получить текст, который находится внутри вложенного тега Div, используя python BeautifulSoup - PullRequest
0 голосов
/ 14 марта 2020

Я пытаюсь очистить текст между вложенным div, но не могу получить текст (ТЕКСТ ЗДЕСЬ). Текст находится внутри вложенного div. текст здесь. Итак, как вы видите ниже, я хочу распечатать текст (ТЕКСТ ЗДЕСЬ), который находится внутри всех этих «div», так как текст не находится внутри тега «p», я не смог напечатать текст. Я использую BeautifulSoup для извлечения текста. Когда я запускаю код ниже, он ничего не печатает. Структура div имеет вид

<div class="_333v _45kb".....
    <div class="_2a_i" ...............
        <div class="_2a_j".......</div>
        <div class="_2b04"...........
            <div class="_14v5"........
                <div class="_2b06".....
                    <div class="_2b05".....</div>
                    <div id=............>**TEXT HERE**</div>
                </div>
            </div>
        </div>
    </div>
</div>

Мой код:

theurl = "here URL"
thepage = urllib.request.urlopen(theurl)
soup = BeautifulSoup(thepage, "html.praser")
comm_list = soup.findAll('div', class_="_333v _45kb")
for lists in comm_list:
    print(comm_list.find('div').text)

1 Ответ

1 голос
/ 14 марта 2020

Beacuse OP по-прежнему не предоставляет достаточно информации, вот пример

from bs4 import BeautifulSoup

html = '''
<div class="foo">
    <div class="bar">
        <div class="spam">Some Spam Here</div>
        <div id="eggs">**TEXT HERE**</div>
    </div>
</div>
'''

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

# This will print all the text
div = soup.find('div', {'class':'foo'})
print(div.text)


print('\n----\n')
# if other divs don't have id
for div in soup.findAll('div'):
    if div.has_attr('id'):
        print(div.text)

output

Some Spam Here
**TEXT HERE**


---------
**TEXT HERE**
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...