captcha-harvester 项目教程
1. 项目的目录结构及介绍
captcha-harvester/
├── harvester/
│ ├── server/
│ │ ├── templates/
│ │ │ ├── recaptcha-v2.html
│ │ │ ├── recaptcha-v3.html
│ │ │ └── domains.html
│ │ └── ...
│ └── ...
├── requirements.txt
├── README.md
└── ...
harvester/
: 主项目目录,包含所有核心代码。server/
: 服务器相关代码。templates/
: HTML模板文件,用于渲染不同的CAPTCHA类型。recaptcha-v2.html
: reCAPTCHA v2 的模板文件。recaptcha-v3.html
: reCAPTCHA v3 的模板文件。domains.html
: 域名管理模板文件。
...
: 其他相关文件和目录。
requirements.txt
: 项目依赖文件,列出了所有需要安装的Python包。README.md
: 项目说明文档。
2. 项目的启动文件介绍
项目的启动文件是 harvester.py
,位于项目根目录下。该文件包含了主要的启动逻辑和命令行参数解析。
# harvester.py
import argparse
from harvester import HarvesterManager
def main():
parser = argparse.ArgumentParser(description="CaptchaHarvester: Solve captchas yourself without having to pay for services like 2captcha for use in automated projects")
parser.add_argument('type', choices=['recaptcha-v2', 'recaptcha-v3', 'hcaptcha'], help="The type of captcha that the domain/sitekey pair is for")
parser.add_argument('-a', '--data-action', help="Sets the action in rendered recaptcha-v3 when collecting tokens (required with recaptcha-v3)")
parser.add_argument('-k', '--site-key', required=True, help="The sitekey used by the captcha")
parser.add_argument('-d', '--domain', required=True, help="The domain which you want to harvest captchas by executing get_sitekey method from Harvester class")
parser.add_argument('-H', '--host', help="Proxy host")
parser.add_argument('-p', '--port', help="Proxy port")
parser.add_argument('-b', '--browser', help="Browser to use")
parser.add_argument('-B', action='store_true', help="Run in background")
parser.add_argument('-r', action='store_true', help="Use proxy")
parser.add_argument('-e', '--load-extension', help="Load extension")
parser.add_argument('-v', action='store_true', help="Verbose output")
args = parser.parse_args()
manager = HarvesterManager(args)
manager.main_loop()
if __name__ == "__main__":
main()
3. 项目的配置文件介绍
项目的配置文件主要是 requirements.txt
,它列出了项目运行所需的所有Python包。
# requirements.txt
selenium
requests
flask
selenium
: 用于自动化浏览器操作。requests
: 用于HTTP请求。flask
: 用于构建Web服务器。
通过安装这些依赖包,可以确保项目能够正常运行。
pip install -r requirements.txt
以上是 captcha-harvester
项目的目录结构、启动文件和配置文件的介绍。希望这份文档能帮助你更好地理解和使用该项目。