引用テキスト### 前提・実現したいこと
ここに質問の内容を詳しく書いてください。
ヤフオクで指定したURLの商品情報一覧を取得するスクレイピングツールを制作しています
商品名とURLを取得してcsvで出力できるようなツールのイメージです
発生している問題・エラーメッセージ
タイトル一覧は取得できましたが、URL取得の段階で下記の通り、キーエラーが出てしまいます。
KeyError
Traceback (most recent call last)
<ipython-input-186-92cb4690ce95> in <module>
2 for i in titlelists:
3 title_list.append(i.string)
----> 4 url_list.append(i.attrs['href'])
KeyError: 'href
該当のソースコード
from bs4 import BeautifulSoup import urllib.request as req from urllib.parse import urlparse response = req.urlopen(url_seller) parse_html = BeautifulSoup(response,'html.parser') titlelists = parse_html.find_all('a') title_list = [] url_list = [] for i in titlelists: title_list.append(i.string) url_list.append(i.attrs['href'])
試したこと
for文のなかではなく、findallで取得したリストに直接番号を指示してやると↓
titlelists[10].attrs['href']
このコードなら問題なくURLが出力されます。なのでhrefがリストの中にないはずはないのですが、for文でリストから順番に取得しようとするとエラーが出てしまいます。
補足情報(FW/ツールのバージョンなど)
python3
beautifulsoup4
Jupiter labで作成しています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。