tldextract 开源项目教程
1. 项目的目录结构及介绍
tldextract 是一个用于从 URL 中提取顶级域名(Top-Level Domain, TLD)的 Python 库。以下是该项目的目录结构及其介绍:
tldextract/
├── .github/
│ └── workflows/
│ └── tests.yml
├── .gitignore
├── .pre-commit-config.yaml
├── .readthedocs.yml
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── MANIFEST.in
├── README.md
├── docs/
│ ├── Makefile
│ ├── conf.py
│ ├── index.rst
│ └── make.bat
├── setup.cfg
├── setup.py
├── tests/
│ ├── __init__.py
│ ├── test_tldextract.py
│ └── test_update_snapshot.py
├── tldextract/
│ ├── __init__.py
│ ├── _version.py
│ ├── cache.py
│ ├── extract.py
│ ├── remote.py
│ └── suffix_list.py
└── tox.ini
主要目录和文件介绍:
- .github/workflows/tests.yml: GitHub Actions 的配置文件,用于自动化测试。
- .gitignore: Git 忽略文件列表。
- .pre-commit-config.yaml: pre-commit 钩子的配置文件。
- .readthedocs.yml: Read the Docs 的配置文件。
- CHANGELOG.md: 项目变更日志。
- CONTRIBUTING.md: 贡献指南。
- LICENSE: 项目许可证。
- MANIFEST.in: 打包清单文件。
- README.md: 项目说明文档。
- docs/: 项目文档目录。
- setup.cfg: setuptools 的配置文件。
- setup.py: 项目安装脚本。
- tests/: 测试代码目录。
- tldextract/: 项目源代码目录。
- tox.ini: tox 的配置文件。
2. 项目的启动文件介绍
tldextract 项目的主要启动文件是 tldextract/__init__.py
。这个文件包含了项目的核心功能和入口点。以下是该文件的主要内容:
from .extract import extract
from ._version import __version__
__all__ = ['extract', '__version__']
主要功能:
- extract: 用于从 URL 中提取顶级域名的主要函数。
- version: 项目的版本号。
3. 项目的配置文件介绍
tldextract 项目的配置文件主要包括 setup.cfg
和 setup.py
。
setup.cfg
setup.cfg
是一个配置文件,用于配置 setuptools 的各个方面。以下是该文件的部分内容:
[metadata]
name = tldextract
version = attr: tldextract._version.__version__
description = Accurately separate the TLD from the registered domain and subdomains of a URL, using the Public Suffix List.
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/john-kurkowski/tldextract
author = John Kurkowski
author_email = john.kurkowski@gmail.com
license = BSD
classifiers =
Development Status :: 5 - Production/Stable
Intended Audience :: Developers
License :: OSI Approved :: BSD License
Operating System :: OS Independent
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Topic :: Internet :: WWW/HTTP
Topic :: Software Development :: Libraries :: Python Modules
[options]
packages = find:
install_requires =
idna
requests
requests-file
python_requires = >=3.6
[options.packages.find]
where = .
setup.py
setup.py
是一个 Python 脚本,用于安装和打包项目。以下是该文件的部分内容:
import setuptools
with open("README