{"id":21254317,"url":"https://github.com/Ryaang/gpt-web-crawler","last_synced_at":"2025-07-11T02:30:37.656Z","repository":{"id":213250603,"uuid":"732989949","full_name":"Ryaang/gpt-web-crawler","owner":"Ryaang","description":"A web crawler for GPTs to build knowledge bases 用于GPT构建知识库的网站爬虫","archived":false,"fork":false,"pushed_at":"2024-09-02T14:39:05.000Z","size":13239,"stargazers_count":25,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-02T16:09:51.377Z","etag":null,"topics":["chatgpt","crawler","gpt-crawler","knowledge-base"],"latest_commit_sha":null,"homepage":"https://www.zair.top/post/gpt-web-crawler/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ryaang.png","metadata":{"files":{"readme":"README-Zh.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-18T10:12:55.000Z","updated_at":"2025-03-09T11:54:55.000Z","dependencies_parsed_at":"2024-12-04T04:51:52.648Z","dependency_job_id":"94fee586-c309-46ce-b0f1-9e79d273cd37","html_url":"https://github.com/Ryaang/gpt-web-crawler","commit_stats":null,"previous_names":["tim-saijun/crawer","tim-saijun/gpt-web-crawler","ryaang/gpt-web-crawler"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Ryaang/gpt-web-crawler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ryaang%2Fgpt-web-crawler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ryaang%2Fgpt-web-crawler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ryaang%2Fgpt-web-crawler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ryaang%2Fgpt-web-crawler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ryaang","download_url":"https://codeload.github.com/Ryaang/gpt-web-crawler/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ryaang%2Fgpt-web-crawler/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264712609,"owners_count":23652626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatgpt","crawler","gpt-crawler","knowledge-base"],"created_at":"2024-11-21T03:55:14.309Z","updated_at":"2025-07-11T02:30:37.648Z","avatar_url":"https://github.com/Ryaang.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PyPI - Version](https://img.shields.io/pypi/v/gpt-web-crawler)](https://pypi.org/project/gpt-web-crawler/) [![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/Tim-Saijun/gpt-web-crawler/python-publish.yml)](https://github.com/Tim-Saijun/gpt-web-crawler/actions/workflows/python-publish.yml)[![PyPI - License](https://img.shields.io/pypi/l/gpt-web-crawler)](https://pypi.org/project/gpt-web-crawler/)   [![Static Badge](https://img.shields.io/badge/%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87-8A2BE2)](README-Zh.md) [![Static Badge](https://img.shields.io/badge/English-blue)](README.md)\n\n## 介绍\nGPT-Web-Crawler是一个基于python和puppeteer的网络爬虫，可以爬取网页并从网页中提取内容（包括网页的标题，url，关键词，描述，所有文本内容，所有图片和截图）。它使用起来非常简单，只需要几行代码就可以用来爬取网页并从网页中提取内容，非常适合对网络爬取不熟悉并希望使用网络爬取从网页中提取内容的人。\n![爬虫工作](images/crawler.gif)\n爬虫的输出可以是一个json文件，可以很容易地转换为csv文件，导入数据库或构建一个AI代理。\n![助手演示](images/assistant_demo.gif)\n## 开始\n步骤1. 安装包。\n```bash\npip install gpt-web-crawler\n```\n步骤2. 复制config_template.py并将其重命名为config.py。然后，编辑config.py文件以配置openai api密钥和其他设置，如果你需要使用ProSpider帮助你从网页中提取内容。如果你不需要使用ai帮你从网页中提取内容，你可以保持config.py文件不变。\n\n步骤3. 运行以下代码启动一个爬虫。\n```python\nfrom gpt_web_crawler import run_spider,NoobSpider\nrun_spider(NoobSpider, \n           max_page_count= 10 ,\n           start_urls=\"https://www.jiecang.cn/\", \n           output_file = \"test_pakages.json\",\n           extract_rules= r'.*\\.html' )\n```\n## 爬虫\n在上面的代码中，使用了NoobSpider。 此包中共有四种爬虫，它们可以从网页中提取的内容有所不同。 下表显示了它们之间的差异。\n\n| 爬虫类型   | 描述                                            | 返回内容                                             |\n|------------|------------------------------------------------|------------------------------------------------------|\n| NoobSpider | 抓取基本的网页信息                              | - title \u003cbr\u003e- URL \u003cbr\u003e- keywords \u003cbr\u003e- description \u003cbr\u003e- body ：网页的所有文本内容 |\n| CatSpider  | 抓取带有截图的网页信息                          | - title \u003cbr\u003e- URL \u003cbr\u003e- keywords \u003cbr\u003e- description \u003cbr\u003e- body ：网页的所有文本内容 \u003cbr\u003e- screenshot_path：截图路径 |\n| ProSpider  | 抓取基本信息的同时使用 AI 提取内容              | - title \u003cbr\u003e- URL \u003cbr\u003e- keywords \u003cbr\u003e- description \u003cbr\u003e- body ：网页的所有文本内容 \u003cbr\u003e- ai_extract_content：GPT 提取的正文文本 |\n| LionSpider | 抓取基本信息的同时提取所有图片                  | - title \u003cbr\u003e- URL \u003cbr\u003e- keywords \u003cbr\u003e- description \u003cbr\u003e- body ：网页的所有文本内容 \u003cbr\u003e- directory：网页上所有图片的目录     |\n\n### Cat Spider\nCat spider是一个可以对网页进行截图的爬虫。它基于Noob spider，并使用puppeteer模拟浏览器操作对整个网页进行截图并将其保存为图像。 所以当你使用Cat spider时，你需要先安装puppeteer。可以先参照[此回答](https://github.com/Tim-Saijun/gpt-web-crawler/commit/dd4edfe83209026a0e74dae8b9b3e6d5d9b9d90c#commitcomment-146072110)安装npm后，再使用以下命令安装puppeteer：\n```bash\nnpm install puppeteer\n```\n## 待办事项\n- [ ] 支持无需配置config.py\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRyaang%2Fgpt-web-crawler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRyaang%2Fgpt-web-crawler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRyaang%2Fgpt-web-crawler/lists"}