前提・実現したいこと
下記のようなHTMLが60個あり、href値とurl値を取得することをしたいです。
for文を使い12個目までは取得できるのですが、それ以降はエラーが出てしまいます。なぜなのでしょうか?
<a href="sample.com" class="listing-item"> <div class="img" style="background-image: url("https://sample.jpg");"></div> </a> ・ ・ ・ ・
発生している問題・エラーメッセージ
~/opt/anaconda3/lib/python3.8/site-packages/bs4/element.py in __getitem__(self, key) 1404 """tag[key] returns the value of the 'key' attribute for the Tag, 1405 and throws an exception if it's not there.""" -> 1406 return self.attrs[key] 1407 1408 def __iter__(self): KeyError: 'style'
該当のソースコード
subcount = 0 href_lists = [] url_lists = [] for _ in range(60): //href値を取得し、リストに追加 h = content_lists[subcount].attrs['href'] href_lists.append('https://txxx.com'+ h) //URL値を取得し、リストに追加 style = content_lists[subcount].find(class_='img')['style'] decl = cssutils.parseStyle(style) values = cssutils.css.PropertyValue(decl.getPropertyValue('background-image')) uri = values[0].uri url_lists.append(uri) subcount +=1 time.sleep(1)
試したこと
画面に表示されないと取得できないのかと考え、スクロールをし実行しましたがダメでした。
回答1件
あなたの回答
tips
プレビュー