私はウェブサイトを削り取ろうとしています。 2つのリソースから1つはa
タグからhrefを取得するためにtag.get('href')
を使用し、もう1つはtag['href']
を使用して同じものを取得しました。私が理解する限り、彼らはどちらも同じことをします。私はこのコードをしようとしたときしかし:さまざまな方法で美味しいスープを使用してhrefを取得する
link_list = [l.get('href') for l in soup.find_all('a')]
はなく、辞書のアクセス方法と、.get
方法で働いていました。
link_list = [l['href'] for l in soup.find_all('a')]
これはKeyError
をスローします。私は掻きすることに非常に慣れているので、これが愚かなものであれば容赦してください。
編集 - 両方のメソッドがfind_allの代わりにfindメソッドで機能しました。
それは、二つの異なる方法です - 同じですが、 'key'があなたのdictにない場合、' l.get'はデフォルト値(https://docs.python.org/2/library/stdtypes.html#dict.get)を返し、 'l [key] 'raised KeyError – SatanDmytro