我对Python很陌生,主要需要它来从网站获取信息。 在这里,我试图从网站的底部获得简短的标题,但不能得到它们。
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" nachrichten"中的所有链接/ a,但是我该怎么办呢?
答案 0 :(得分:1)
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
答案 1 :(得分:0)
使用 css选择器并选择是否要将所有链接放在一个列表中:
tag
如果你想要个人名单:
anchors = soup.select('ul.list a')
此外,如果您想要href,您可以确保只找到具有 href 属性的锚点并提取:
anchors = [ ul.find_all(a) for a in soup.find_all('ul', {'class':'list'})]
hrefs = [a["href"] for a in soup.select('ul.list a[href]')]
设置 href = True ,find_all
。