beautifuSoupでスクレイピングをしたいのですが、下記の様に探している項目名称の前にリンク先などの情報が入っている場合があり、その場合にNoneが出力されてしまいます。
「飛行機」の前に<a class="image_link" href="/test.example">が記載されている場合にも、ロケットの場合と同じ様に「飛行機」と出力するにはどの様にすれば良いでしょうか。
python
1import requests 2import bs4 3 4target_url = '目的のサイト' 5url_data = requests.get(target_url) 6 7ps = bs4.BeautifulSoup(url_data.content,'html.parser') 8item_all = ps.find("div", attrs={"id": "recipe-main"}) 9 10for item in item_all.findAll("div", attrs={"class": "target_item"}): 11 print(item.string)
出力結果
ロケット
None ==> ここを飛行機と表示させたい
以下はデータを取り出したいhtmlの一部です
html
1<div class="items_row"> 2<div class="target_item"><span class="name">ロケット</span></div> 3</div> 4<div class="items_row"> 5<div class="target_item"><span class="name"><a class="image_link" href="/test.example">飛行機</a> 6</span></div>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/08 06:05