有時候我們需要下載一個網站的所有CSS文件,可能是為了分析網站的設計,或者是為了離線保存。下面提供一種使用Python代碼下載網站CSS文件的方法。
import requests
import os
from urllib.parse import urlparse, urljoin
from bs4 import BeautifulSoup
def download_css_files(url):
# 獲取網站域名用于合并url
domain = urlparse(url).netloc
# 獲取網站HTML內容
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 創建目錄用于存放CSS文件
directory_name = f'{domain}_CSS'
if not os.path.exists(directory_name):
os.makedirs(directory_name)
# 下載網站CSS文件
css_files = set()
for link in soup.find_all('link', rel='stylesheet'):
href = link.get('href')
if href:
css_url = urljoin(url, href)
css_files.add(css_url)
for css_url in css_files:
response = requests.get(css_url)
css_filename = css_url.replace(url, '').replace('/', '')
with open(f'{directory_name}/{css_filename}', 'w') as css_file:
css_file.write(response.text)
return len(css_files)
if __name__ == '__main__':
url = 'https://getbootstrap.com/'
css_file_count = download_css_files(url)
print(f'Downloaded {css_file_count} CSS files from {url}')
上述代碼使用Python的requests庫和BeautifulSoup庫來獲取網站HTML內容,并使用urlparse和urljoin函數來處理URL。下載的CSS文件將被保存在以網站域名命名的目錄中。
如果需要下載其他類型的文件,可以修改代碼以下載不同類型的文件。