可以使用request库来进行访问获取icon图片,完整代码如下:
#!/usr/local/python3/bin/python3 # -*- coding: utf-8 -* import requests from bs4 import BeautifulSoup import os def get_favicon(url): # 确保URL以http或https开头 if not url.startswith('http://') and not url.startswith('https://'): url = 'http://' + url # 获取网页内容 response = requests.get(url) response.raise_for_status() # 解析HTML soup = BeautifulSoup(response.text, 'html.parser') # 查找favicon的链接 favicon_link = soup.find("link", rel="icon") or soup.find("link", rel="shortcut icon") if favicon_link: favicon_url = favicon_link.get('href') # 如果favicon的URL是相对路径,将其转换为绝对路径 if not favicon_url.startswith('http'): favicon_url = os.path.join(url, favicon_url) else: # 如果没有找到favicon链接,尝试默认的favicon路径 favicon_url = os.path.join(url, 'favicon.ico') # 下载favicon favicon_response = requests.get(favicon_url) favicon_response.raise_for_status() # 保存favicon with open('favicon.ico', 'wb') as f: f.write(favicon_response.content) print(f"Favicon saved as 'favicon.ico'") # 示例使用 get_favicon('baidu.com')
网友回复