beautifulsoup to extract text in between two tags

Course Queries Syllabus Queries 3 years ago

513 1 0 0 0

User submissions are the sole responsibility of contributors, with TuteeHUB disclaiming liability for accuracy, copyrights, or consequences of use; content is for informational purposes only and not professional advice.

Answers (1)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 3 years ago

I have this HTML snippet:

<h3>Languageh3>
    <a class="syllabus-item" href="">Frencha>
    <a class="syllabus-item" href="">Englisha>
    <a class="syllabus-item" href="">Spanisha>

<h3>Musich3>
    <a class="syllabus-item" href="">Rocka>
    <a class="syllabus-item" href="">Popa>

And I want the output to be:

1 - Language/1 - French
1 - Language/2 - English
1 - Language/3 - Spanish
2 - Music/1 - Rock
2 - Music/2 -Pop

And here's my code

def get_genre_band(soup):
    genre = None
    for href="https://forum.tuteehub.com/tag/node">node in soup.findAll(['h3', 'a']):
        if href="https://forum.tuteehub.com/tag/node">node.name == 'h3':
            genre = href="https://forum.tuteehub.com/tag/node">node.text
        elif 'syllabus-item' in href="https://forum.tuteehub.com/tag/node">node.get('class', ''):
            yield genre.strip(), href="https://forum.tuteehub.com/tag/node">node.text.strip()

and I'm using it like this:

            for g, b in get_genre_band(href="https://forum.tuteehub.com/tag/section">section):
            print("{} \n\t{}".format(g, b))

But I cannot get the proper numeration, I get something like this:

1 - Language/1 - French
1 - Language/2 - English
1 - Language/3 - Spanish
8 - Music/4 - Rock

                                                
0 views
0 shares

No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.

Similar Forum