-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.py
41 lines (33 loc) · 1.22 KB
/
test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import requests
from bs4 import BeautifulSoup
import os
def download_file(url, folder):
# ファイル名をURLから抽出
filename = url.split('/')[-1]
path = os.path.join(folder, filename)
# ファイルをダウンロードして保存
response = requests.get(url)
with open(path, 'wb') as file:
file.write(response.content)
def download_html_and_css(url, folder='downloaded_files'):
# ダウンロードフォルダを作成
if not os.path.exists(folder):
os.makedirs(folder)
# HTMLをダウンロード
response = requests.get(url)
html = response.text
# HTMLを解析
soup = BeautifulSoup(html, 'html.parser')
links = soup.find_all('link', {'rel': 'stylesheet'})
# CSSファイルのURLを見つけてダウンロード
for link in links:
href = link.get('href')
if href.startswith('http'):
download_file(href, folder)
else:
# 相対パスの場合は絶対パスに変換
href = requests.compat.urljoin(url, href)
download_file(href, folder)
return html
# 例としてGoogleのトップページをダウンロード
html_content = download_html_and_css('https://www.google.com')