我需要从href获取url:
<link rel="apple-touch-icon" href="https://abs.twimg.com/icons/apple-touch-icon-192x192.png" sizes="192x192">
因为它指向twitter的favicon。
您可以在此访问该网站,它是Twitter页面。确切地说,是推文网址。
https://twitter.com/RichardSocher/status/963117994862768128
html中还有其他链接标记,但我需要这个标记。
目前我正在收集所有链接标记并将其放在第10位(因为这是favicon网址的索引):
import requests
from bs4 import BeautifulSoup
url = 'https://twitter.com/RichardSocher/status/963117994862768128'
req = requests.get(url)
soup = BeautifulSoup(req.text, "lxml")
#Obtiene el favicon de Twitter
links_list = []
for link in soup.find_all('link'):
links_list.append(link.get('href'))
links_list[10] #Desired url.
有没有办法让这个&#39; href&#39;通过链接的rel内容?
编辑1:需要通过 rel 属性而不是类来完成。
答案 0 :(得分:1)
您可以将字典传递到soup.find
或soup.find_all
以匹配属性:
the_url = soup.find("link",{"rel":"apple-touch-icon"})['href']
或者,您可以使用BeautifulSoup的CSS选择器语法并在选择器中使用属性匹配:
the_url = soup.select("[rel='apple-touch-icon']")[0]['href']