https://r.gnavi.co.jp/a188901/
を対象に行なっています。
ここからメニュー
の中にあるテキストとURLを取得したいのですが以下のところまでいってからその続きが上手くいかなくお力添え頂きたいと思っております。
具体的に:find(find_all)の結果に対してfindが使えなくどうしていいかわからない
環境 Python 3.5.4
自分のコード(一部)
Python
1import requests 2from bs4 import BeautifulSoup 3 4def Crawl(URL): 5 r = requests.get(URL) 6 assert r.status_code==200, 'status code:{}'.format(r.status_code) 7 r.encoding = r.apparent_encoding 8 return BeautifulSoup(r.text, 'html.parser') 9 10soup = Crawl('https://r.gnavi.co.jp/a188901/') 11soup.find('li', id='nav-main-menu')
このfindによって以下まで抽出できます。ここからがfindのresultsetになるため、重ねてのfindやget, selectが使えなく困っています。
<li id="nav-main-menu"> <a href="https://r.gnavi.co.jp/a188901/menu1/">メニュー</a> <ul class="child"> <li class="first"> <a href="https://r.gnavi.co.jp/a188901/menu1/">2時間飲み放題</a> </li> <li> <a href="https://r.gnavi.co.jp/a188901/menu3/">おすすめの逸品</a> </li> <li> <a href="https://r.gnavi.co.jp/a188901/menu5/">定番/デザート</a> </li> <li class="last"> <a href="https://r.gnavi.co.jp/a188901/menu6/">ドリンク</a> </li> </ul> </li>
コードは一部のみ記載しているので動作問題があれば指摘をお願いいたします。
他に、記載すべきことが等あればご指導ご鞭撻お願い致します。
回答1件
あなたの回答
tips
プレビュー