summaryrefslogtreecommitdiff
path: root/scripts/listExternalLinks.py
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-05-23 19:32:43 +0800
committerEltrac <hi@guhub.cn>2025-05-23 19:32:43 +0800
commite50c574d8d969a38eb1c3068b537fa220503adb7 (patch)
tree17dadd07a52dd64459bd138cb65bc254465049bb /scripts/listExternalLinks.py
parente8c6fa346617c164ae14f513840c455028ac6603 (diff)
chore: comebine two link analysis script
Diffstat (limited to 'scripts/listExternalLinks.py')
-rw-r--r--scripts/listExternalLinks.py53
1 files changed, 0 insertions, 53 deletions
diff --git a/scripts/listExternalLinks.py b/scripts/listExternalLinks.py
deleted file mode 100644
index 89df0605..00000000
--- a/scripts/listExternalLinks.py
+++ /dev/null
@@ -1,53 +0,0 @@
-import os
-from urllib.parse import urlparse
-from collections import Counter
-import json
-import re
-
-content_dir = "content"
-external_links = Counter()
-
-# 匹配 Markdown 中的 URL 链接 [text](url)
-markdown_link_re = re.compile(r'\[.*?\]\((http.*?)\)')
-
-def extract_front_matter_and_content(path):
- with open(path, 'r', encoding='utf-8') as f:
- lines = f.readlines()
-
- if not lines or lines[0].strip() != '---':
- return {}, ''.join(lines)
-
- front_matter = {}
- end_index = None
- for i in range(1, len(lines)):
- if lines[i].strip() == '---':
- end_index = i
- break
- key_value = lines[i].split(':', 1)
- if len(key_value) == 2:
- key, value = key_value
- front_matter[key.strip()] = value.strip()
-
- content = ''.join(lines[end_index+1:]) if end_index else ''.join(lines)
- return front_matter, content
-
-def extract_links_from_file(path):
- _, content = extract_front_matter_and_content(path)
-
- # 提取 Markdown 格式链接
- for match in markdown_link_re.findall(content):
- domain = urlparse(match).netloc
- if domain and domain != 'image.guhub.cn' and domain != 'www.geedea.pro':
- external_links[domain] += 1
-
-for root, dirs, files in os.walk(content_dir):
- for file in files:
- if file.endswith(".md"):
- extract_links_from_file(os.path.join(root, file))
-
-# 写入 JSON
-os.makedirs("data", exist_ok=True)
-with open("data/externallinks.json", "w", encoding="utf-8") as f:
- json.dump(external_links.most_common(), f, indent=2, ensure_ascii=False)
-
-print("✅ External link data written to data/externallinks.json")