2016-09-30 3 views
2

を持つクラス内のタグを選択:私は、HTMLのこの部分のhrefを取得しようとしているBS4

<h3 class="post-title entry-title" itemprop="name"> 
<a href="http://sslproxies24.blogspot.it/2016/10/01-10-16-free-ssl-proxies-1070.html">01-10-16 | Free SSL Proxies (1070)</a> 
</h3> 

は、だから私はこのスクリプトを作成しました:

import urllib.request 
from bs4 import BeautifulSoup 

url = "http://sslproxies24.blogspot.it/" 
soup = BeautifulSoup(urllib.request.urlopen(url)) 
for tag in soup.find_all("h3", "post-title entry-title"): 
    links = tag.get("href") 

しかし、リンク、」doesnの何かを見つける。

print (tag.attrs) 

です:

実際の出力はので、私はBS4で選択したクラス「ポストタイトルのエントリーのタイトルは」、「HREF」を属性れていません...

です

{'itemprop': 'name', 'class': ['post-title', 'entry-title']} 

"a"要素を選択してhrefでリンクを取得するにはどうすればよいですか?

答えて

1

あなたはすぐ内側のa要素を取得することによってそれを解決することができます:tag.atag.find("a")へのショートカットです

for tag in soup.find_all("h3", "post-title entry-title"): 
    link = tag.a.get("href") 

それとも、あなたはCSS selectorと直接a要素を一致させることができます:

for a in soup.select("h3.post-title.entry-title > a"): 
    link = a.get("href") 

ドットがクラス属性セレクタであり、>直接の親子関係を意味します。

それとも、あなたの代わりにクラスのitemprop属性を確認することができます。

for a in soup.select("h3[itemprop=name] > a"): 
    link = a.get("href") 
+0

私は本当に感謝します!出来た! – CatchJoul

関連する問題