0

Web ページから大量のデータをスクレイピングできますが、まったく同じ属性と値を持つサブセクションから特定のコンテンツを抽出するのに苦労しています。html は次のとおりです。

   <li class="highlight">
     Relationship Issues
      </li>
   <li class="highlight">
     Depression
      </li>
   <li class="highlight">
     Spirituality
      </li>

                                            <li class="">
                                                           ADHD
                                                   </li>
                                           <li class="">
                                                           Alcohol Use
                                                   </li>
                                           <li class="">
                                                           Anger Management
                                                   </li>

そのhtmlを参照として使用すると、次のようになります。

import requests
from bs4 import BeautifulSoup
import html5lib
import re

headers = {'User-Agent': 'Mozilla/5.0'}
URL = "website.com"


page = requests.get(URL, headers=headers)

soup = BeautifulSoup(page.content, 'html5lib')

specialties = soup.find_all('div', {'class': 'spec-list attributes-top'})

for x in specialties:
   Specialty_1 = x.find('li', {'class': 'highlight'}).text
   Specialty_2 = x.find('li', {'class': 'highlight'}).text
   Specialty_3 = x.find('li', {'class': 'highlight'}).text

したがって、理想的な結果は次のとおりです。Specialty_1 = 人間関係の問題。Specialty_2 = うつ病; Specialty_3 = スピリチュアリティ

問題_1 = ADHD; Issue_2 = アルコール使用。Issue_3 = 怒りの管理

ありとあらゆる助けをいただければ幸いです!

4

3 に答える 3