2016-09-13 72 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'}) 

现在我需要另一个的findAll得到来自VAR“消息报”的所有链接/一,但我怎么能这样做呢?

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

如果你想单独列出:

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

此外,如果你想要的HREFs你,如果你想在一个列表中的所有链接

+0

我不认为有bfs4。我从来没有放过它。 – Sandeep

回答

0

使用CSS选择与选择可以确保您只能找到具有以下属性的锚:

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

With find_all set href =真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