pythonを利用してHTMLをスクレイピングしようとしているのですが、うまく取れないため質問させていただきます。
HTML
1<div class="name_list"> 2 <a href="https://hogehooge/12345">太郎</a> 3 <a href="https://hogehooge/23456">次郎</a> 4 <a href="https://hogehooge/34567">三郎</a> 5</div>
これを
太郎、次郎、三郎
のように取得したく思っています。
python
1msgs = html.findAll('div, class_='name_list') 2name_list=[] 3for msg in msg: 4 elems = msg.find('a', href=re.compile('https://hogehoge/')) 5 text = elems.get_text() 6 name_list.append(text) 7print(name_list)
でうまく取得できるかなと思っていましたが、結果としては太郎のみ取得となりました。
取得したい場所が階層構造になっていないため、forループで回せないことが原因だとは思っているのですが、であればどのように処理すれば良いか分からなかったため、質問させて頂きます。
質問にあたり不足情報や認識違いなどあればご指摘ください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/01 16:59