2016-09-13 3 views
2

私はPythonには新しく、主にウェブサイトから情報を得るために必要です。 ここで私はウェブサイトの一番下から短い見出しを取得しようとしましたが、それを得ることはできません。BeautifulSoup、findAllの後にfindAll?

from bfs4 import BeautifulSoup 
import requests 

url = "http://some-website" 
r = requests.get(url) 
soup = BeautifulSoup(r.content, "html.parser") 

nachrichten = soup.findAll('ul', {'class':'list'}) 

今、私はすべてのリンクVARから/ A「nachrichten」を取得するには、別のfindAllを必要とするだろうが、私はこれをどのように行うことができますか?

+0

私はbfs4があるとは思わない。私は決してそれを飼っていません。 – Sandeep

答えて

0

あなたは、単一のリスト内のすべてのリンクをしたい場合は選択してCSSセレクタを使用します。

anchors = soup.select('ul.list a') 

あなたは、個々のリストをしたい場合:

anchors = [ ul.find_all(a) for a in soup.find_all('ul', {'class':'list'})] 

また、あなたはのhrefあなたをしたい場合href属性を持つアンカーのみを見つけて、抽出してください:

hrefs = [a["href"] for a in soup.select('ul.list a[href]')] 

find_allと設定します。href = True、つまりul.find_all(a, href=True)です。

0
from bs4 import BeautifulSoup 
import requests 
url = "http://www.n-tv.de/ticker/" 
r = requests.get(url) 
soup = BeautifulSoup(r.content, "html.parser") 
nachrichten = soup.findAll('ul', {'class':'list'}) 
links = [] 
for ul in nachrichten: 
    links.extend(ul.findAll('a')) 
print len(links) 

これがあなたの問題を解決すると私はインポートがbs4だと思います。私は決してbfs4の群れではない

関連する問題