私はPythonを学ぶのが本当に新しいので、これは本当に明白かもしれませんが、BeautifulSoupからNavigableStringを抽出しました。しかし、それは私がオンラインで見たいくつかの例ほど簡単ではありません。Beautiful Soup/Regular Expressions:NavigableStringからテキストの一部を抽出する
私の最終目標は、次のようになります辞書作成することです。ここでは
dict = {'Fandom':'Undertale (Video Game)', 'Works':15341}
のは、文字列の2つの例です:
<li>
<a class="tag" href="/tags/Undertale%20(Video%20Game)/works">Undertale (Video Game)</a>
(15341)
</li>
<a class="tag" href="/tags/Sherlock%20Holmes%20*a*%20Related%20Fandoms/works">Sherlock Holmes & Related Fandoms</a>
(101015)
</li>
は、私はすでに文字列からファンダムを抽出成功しましたしかし、今では括弧内に作品数が必要です。これを行うには、美しいスープや正規表現をどのように使用しますか?
また、常にランダムに表示されますが、隣に仕事数がないため、エラー処理が必要です。
<li>
<a class="tag" href="/tags/Composer%20-%20Fandom/works">Composer - Fandom</a>
</li>
は、ここでは、コードの関連部分です:
for each_f in cate:
#print(each_f)
result = each_f.find('a')
if result !=-1:
#here is where I grab the Fandom vals
fandom_name = result.contents
#print(result.contents)
注:私は辞書に追加するコードを欠けている知って、私はそこまでまだそれを行っていません。私は画面に印刷するための値を取得しようとしています。
これはちょっと修正する必要がありました。なぜなら、zipがそれほど気に入らなかったからです。返された文字列を取り除く:out = [( 'F'、 'W'、u'Undertale(Video Game) ')、(' a '、' o '、u'(15343) ')]。しかし、それは私を答えに近づけるので、ありがとう! – SpaceyJo