@MichaelMih

Как оптимизировать парсинг на bs4?

Привет всем. Накидал код не большой, но дальше знания не позволяют его улучшить. Не могли-бы вы помочь мне с моей задачей?

Код питона
def get_group(self, group) -> str : 
        for i in self.html:

            soup = BeautifulSoup(i, features="html.parser")
            a = soup.find("h3")

            try:
                if a.get_text() == group:
                    para = soup.find_all("span")
                    cab = soup.find_all("h4", attrs={"class": "cab"})
                    prepod = soup.find_all("p")

                    count = 0
                    for i in soup.find_all("h4", attrs={'class': None}):
                        print(f"{para[count].get_text()}.{i.get_text()}")
                        print(cab[count].get_text())
                        print(prepod[count].get_text())
                        count += 1
            except:
                print(a)


HTML разметка ( предоставлю 1 блок, остальные аналогичны )<br />
<div class="row">
    <div class="col-12">
                <h3 class="title d-flex align-items-center">9ИСП-111к-22</h3>
                    </div>
</div>
<div class="row">
    <div class="col-lg-1 col-2 px-0">
        <div class="info d-flex align-items-center justify-content-center">
            <span class="circle d-flex align-items-center justify-content-center">3</span>
        </div>
    </div>
            <div class="col-lg-9 col-md-8 col-sm-10 col-10 px-0">
                <div class="info">
            <div>
                <h4>Астрономия</h4>
                                <p class="mb-0">Хакимьянова Гузалия Гайнулловна</p>
                            </div>
        </div>
    </div>
            <div class="col-md-2 col-sm-12 col-12 px-0">
        <div class="info info-sm d-flex align-items-center justify-content-center">
            <h4 class="cab">407</h4>
        </div>
    </div>
        </div>
<div class="row">
    <div class="col-lg-1 col-2 px-0">
        <div class="info d-flex align-items-center justify-content-center">
            <span class="circle d-flex align-items-center justify-content-center">4</span>
        </div>
    </div>
            <div class="col-lg-9 col-md-8 col-sm-10 col-10 px-0">
                <div class="info">
            <div>
                <h4>Обществознание (включая экономику и право)</h4>
                                <p class="mb-0">Лукашова Ольга Викторовна</p>
                            </div>
        </div>
    </div>
            <div class="col-md-2 col-sm-12 col-12 px-0">
        <div class="info info-sm d-flex align-items-center justify-content-center">
            <h4 class="cab">акт.з</h4>
        </div>
    </div>
        </div>
<div class="row">
    <div class="col-lg-1 col-2 px-0">
        <div class="info d-flex align-items-center justify-content-center">
            <span class="circle d-flex align-items-center justify-content-center">5</span>
        </div>
    </div>
            <div class="col-lg-9 col-md-8 col-sm-10 col-10 px-0">
                <div class="info">
            <div>
                <h4>Основы безопасности жизнедеятельности</h4>
                                <p class="mb-0">Хакимова Альбина Расыховна</p>
                            </div>
        </div>
    </div>
            <div class="col-md-2 col-sm-12 col-12 px-0">
        <div class="info info-sm d-flex align-items-center justify-content-center">
            <h4 class="cab">415</h4>
        </div>
    </div>
        </div>
<div class="row">
    <div class="col-lg-1 col-2 px-0">
        <div class="info d-flex align-items-center justify-content-center">
            <span class="circle d-flex align-items-center justify-content-center">6</span>
        </div>
    </div>
            <div class="col-lg-9 col-md-8 col-sm-10 col-10 px-0">
                <div class="info">
            <div>
                <h4>Физика</h4>
                                <p class="mb-0">Хакимьянова Гузалия Гайнулловна</p>
                            </div>
        </div>
    </div>
            <div class="col-md-2 col-sm-12 col-12 px-0">
        <div class="info info-sm d-flex align-items-center justify-content-center">
            <h4 class="cab">407</h4>
        </div>
    </div>
        </div>
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы