diff options
| author | Yuval Adam <_@yuv.al> | 2022-11-14 23:03:38 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-14 23:03:38 +0200 |
| commit | 19928dde097a131fbcc2b73f7ba1142c6e6ee7cc (patch) | |
| tree | d49e7ecde7b60d89bb208df4596f8b184dc4e41f /scripts/scan.py | |
| parent | e73e33f43f31aaf2ae3bcea808941cd5bad37112 (diff) | |
Unify scripts/ directory (#52)
* Unify scripts/ directory
* Keep build.py in root for simplicity
Diffstat (limited to 'scripts/scan.py')
| -rw-r--r-- | scripts/scan.py | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/scripts/scan.py b/scripts/scan.py new file mode 100644 index 0000000..cf367f4 --- /dev/null +++ b/scripts/scan.py @@ -0,0 +1,57 @@ +import requests + +from pathlib import Path + +ROOT_PATH = Path(__file__).parent + +DATA_DIR = ROOT_PATH / "data" + +TLDS_URL = "https://data.iana.org/TLD/tlds-alpha-by-domain.txt" +MALE_NAMES_URL = "https://raw.githubusercontent.com/DictionaryHouse/EnglishName/master/top_1000_EN_%E7%94%B7%E6%80%A7names_english.txt" +FEMALE_NAMES_URL = "https://raw.githubusercontent.com/DictionaryHouse/EnglishName/master/top_1000_EN_%E5%A5%B3%E6%80%A7names_english.txt" + +with open(DATA_DIR / "tlds.txt", "w") as f: + print("Fetching TLDs...") + res = requests.get(TLDS_URL) + tlds = [tld.lower() for tld in res.text.strip().split("\n")[1:] if len(tld) < 4] + f.write("\n".join(tlds).strip()) + TLDS = set(tlds) + +NAMES = [] + +with open(DATA_DIR / "names.txt", "w") as f: + print("Fetching female names...") + res = requests.get(FEMALE_NAMES_URL) + f.write(res.text) + NAMES += res.text.split("\n") + print("Fetching male names...") + res = requests.get(MALE_NAMES_URL) + f.write(res.text) + NAMES += res.text.split("\n") + +# print(NAMES) +# print(TLDS) + +CANDIDATES = [] + +for name in NAMES: + if name[-2:] in TLDS: + CANDIDATES.append(f"{name[:-2]}.{name[-2:]}") + if name[-3:] in TLDS: + CANDIDATES.append(f"{name[:-3]}.{name[-3:]}") + +with open(DATA_DIR / "domains.txt", "w") as f: + f.write("\n".join(CANDIDATES).strip()) + +for c in CANDIDATES: + try: + print(f"Fetching {c}...", end="") + res = requests.get(f"http://{c}", timeout=5) + if res.ok: + print(f"Found {c}!") + with open(DATA_DIR / "homepages" / f"{c}.html", "w") as f: + f.write(res.text) + else: + print("x") + except: + print("x")
\ No newline at end of file |
