私はビデオのウェブサイトに行き、ホームページのビデオのすべてのタイトルを掻き集めることによって掻き傷を練習しようとしています。私の唯一の問題は、タイトルが長すぎる場合、BeautifulSoupの.string関数を使用して短くカットされてしまうことです。ここでPython:美味しいスープ:構文解析から完全なタイトルを取得できません
<head>...</head>
<body class="home">
<div id="main">
<div id="content">
<div id="vid_28" class="thumb-block ">
<div class="thumb-inside">...</div>
<p>
<a href="/vid_28/0/this_is_a_great_video_"
title="this is a great video">this is a great vi...</a>
</p>
</div>
</div>
</div>
</body>
私はタイトルを印刷しようとしていますコードされています:ここで
は、解析のための一例HTMLである、それは印刷だ以外
import requests
from bs4 import BeautifulSoup
url = "example"
r = requests.get(url)
soup = BeautifulSoup(r.content, "lxml")
links = soup.find_all("div", {"class":"thumb-block"})
for link in links:
for tag in link.find_all("a")
print(tag.string)
このコードは、私がそれをする方法を働いていますストリング "これは素晴らしいviです..."が省略されています。
HTMLで気付いた場合、「title =」の後のテキストは決して短くなりません。
カットオフされたテキストを取得する代わりに、要素内の "title ="の後に括弧内のテキストを取得するようにコードを変更するにはどうすればよいですか?
次に、 '.string'の代わりにtitle属性にアクセスするのはなぜですか? –
これは文字列にアクセスしようとしているからです。あなたの場合は「これは素晴らしいviです...」という文字列にアクセスしようとしているためです。代わりにtitle属性にアクセスしてみてください。 – ChaoticTwist
"tag.string"を "tag.title"に置き換えようとしましたが、私のコンソールには "None"が返されます。私はドキュメントを読んだことがありますが、タイトルの実際のタグの他に他の属性を呼び出す方法を指摘するものはありません。 – Destroxia