github公開項目爬取

import requestsdef search_github_repositories(keyword, token=None, language=None, max_results=1000):"""通過 GitHub API 搜索倉庫,支持分頁獲取所有結果(最多 1000 條):param keyword: 搜索關鍵詞:param token: GitHub Token(可選,但建議使用以提高速率限制):param language: 過濾語言:param max_results: 最大結果數(GitHub 允許最多 1000 條):return: 倉庫列表"""url = "https://api.github.com/search/repositories"headers = {"Accept": "application/vnd.github.v3+json"}if token:headers["Authorization"] = f"Bearer {token}"query = keywordif language:query += f" language:{language}"repositories = []page = 1per_page = 100  # GitHub 單頁最大允許 100 條while len(repositories) < max_results:params = {"q": query,"sort": "stars","order": "desc","page": page,"per_page": per_page}try:response = requests.get(url, headers=headers, params=params)response.raise_for_status()data = response.json()# 檢查是否還有更多結果if not data.get("items"):breakfor item in data["items"]:repo_info = {"name": item["name"],"owner": item["owner"]["login"],"url": item["html_url"],"clone_url": item["clone_url"],"description": item["description"],"language": item["language"],"stars": item["stargazers_count"]}repositories.append(repo_info)# 達到用戶指定的最大數量時停止if len(repositories) >= max_results:breakpage += 1# GitHub 最多允許 10 頁(即 10 * 100=1000 條)if page > 10:breakexcept requests.exceptions.RequestException as e:print(f"請求失敗: {e}")breakreturn repositoriesdef save_to_txt(results, filename="github_results.txt"):"""將結果保存到文本文件:param results: 倉庫列表:param filename: 保存文件名"""with open(filename, "w", encoding="utf-8") as f:for repo in results:# 格式化單行文本(用 | 分隔關鍵信息)line = (f"倉庫: {repo['owner']}/{repo['name']} | "f"URL: {repo['url']} | "f"語言: {repo['language']} | "f"星數: {repo['stars']} | "f"克隆地址: {repo['clone_url']}\n")f.write(line)print(f"結果已保存至 {filename}")# 示例用法
if __name__ == "__main__":keyword = "Aerospace Control"language = "Python"token = "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"  # 強烈建議使用 Token# 獲取最多 1000 條結果(實際數量取決于搜索匹配的總數)results = search_github_repositories(keyword, token, language=language, max_results=1000)if results:print(f"找到 {len(results)}{language} 相關倉庫:")for idx, repo in enumerate(results, 1):print(f"\n{idx}. {repo['owner']}/{repo['name']}")print(f"   URL: {repo['url']}")print(f"   語言: {repo['language']}")  # 顯示語言print(f"   克隆地址: {repo['clone_url']}")else:print("未找到結果")if results:save_to_txt(results)print(f"實際獲取 {len(results)} 條結果")else:print("未找到結果")

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84306.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84306.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84306.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

防震基座在半導體晶圓制造設備拋光機詳細應用案例-江蘇泊蘇系統集成有限公司

在半導體制造領域&#xff0c;晶圓拋光作為關鍵工序&#xff0c;對設備穩定性要求近乎苛刻。哪怕極其細微的振動&#xff0c;都可能對晶圓表面質量產生嚴重影響&#xff0c;進而左右芯片制造的成敗。以下為您呈現一個防震基座在半導體晶圓制造設備拋光機上的經典應用案例。 企…

S32K開發環境搭建詳細教程(一、S32K IDE安裝注冊)

一、S32K IDE安裝注冊 1、進入恩智浦官網https://www.nxp.com.cn/&#xff08;需要在官網注冊一個賬號&#xff09; 2、直接搜索 “Standard Software”&#xff0c;找到S32K3 Standard Software&#xff0c;點擊進入 3、下載 (1)Automotive SW - S32K3 - S32 Design Studio…

Spring Cloud Gateway 微服務網關實戰指南

上篇文章簡單介紹了SpringCloud系列OpenFeign的基本用法以及Demo搭建&#xff08;Spring Cloud實戰&#xff1a;OpenFeign遠程調用與服務治理-CSDN博客&#xff09;&#xff0c;今天繼續講解下SpringCloud Gateway實戰指南&#xff01;在分享之前繼續回顧下本次SpringCloud的專…

MSP430G2553 USCI模塊串口通信

1.前言 最近需要利用msp430連接藍牙模塊傳遞數據&#xff0c;于是死磕了一段時間串口&#xff0c;在這里記錄一下 2.msp430串口模塊 msp430的串口模塊可以有USCI模塊提供 在異步模式中&#xff0c; USCI_Ax 模塊通過兩個外部引腳&#xff0c; UCAxRXD 和 UCAxTXD&#xff0…

【產品經理從0到1】用戶端產品設計與用戶畫像

思考 xx新聞的第一個版本應該做哪些事情呢&#xff1f; 用戶端核心功能 用戶端通用頁面設計 思考 回想一下&#xff0c;大家在第一次使用一個新下載的App的時候會看到一些什么樣的頁面?這樣的頁面一般都是展示了一些什么內容? 引導頁 概念 第一次安裝App或者更新App后第…

多場景游戲AI新突破!Divide-Fuse-Conquer如何激發大模型“頓悟時刻“?

多場景游戲AI新突破&#xff01;Divide-Fuse-Conquer如何激發大模型"頓悟時刻"&#xff1f; 大語言模型在強化學習中偶現的"頓悟時刻"引人關注&#xff0c;但多場景游戲中訓練不穩定、泛化能力差等問題亟待解決。Divide-Fuse-Conquer方法&#xff0c;通過…

佰力博科技與您探討壓電材料的原理與壓電效應的應用

壓電材料的原理基于正壓電效應和逆壓電效應&#xff0c;即機械能與電能之間的雙向轉換特性。 壓電材料的原理源于其獨特的晶體結構和電-機械耦合效應&#xff0c;具體可分為以下核心要點&#xff1a; 1. ?正壓電效應與逆壓電效應的定義? ?正壓電效應?&#xff1a;當壓電…

算法備案審核周期

&#xff08;一&#xff09;主體備案審核 主體備案審核周期通常為7-10個工作日&#xff0c;監管部門將對企業提交的資質信息進行嚴格審查&#xff0c;審核重點包括&#xff1a; 營業執照的真實性、有效性及與備案主體的一致性。法人及算法安全責任人身份信息的準確性與有效性…

管理系統的接口文檔

一、接口概述 本接口文檔用于描述圖書管理系統中的一系列 Restful 接口&#xff0c;涵蓋圖書的查詢、添加、更新與刪除操作&#xff0c;以及用戶的登錄注冊等功能&#xff0c;方便客戶端與服務器之間進行數據交互。 二、接口基礎信息 接口地址&#xff1a;https://book-manag…

杰發科技AC7801——PWM獲取固定脈沖個數

測試通道6 在初始化時候打開通道中斷 void PWM1_GenerateFrequency(void) {PWM_CombineChConfig combineChConfig[1]; //組合模式相關結構體PWM_IndependentChConfig independentChConfig[2];//獨立模式相關結構體PWM_ModulationConfigType pwmConfig; //PWM模式相關結構體PWM…

RL電路的響應

學完RC電路的響應&#xff0c;又過了一段時間了&#xff0c;想必很多人都忘了RC電路響應的一些內容。我們這次學習RL電路的響應&#xff0c;以此同時&#xff0c;其實也是帶大家一起回憶一些之前所學的RC電路的響應的一些知識點。所以&#xff0c;這次的學習&#xff0c;其實也…

鴻蒙Flutter實戰:21-混合開發詳解-1-概述

引言 在前面的系列文章中&#xff0c;我們從搭建開發環境開始&#xff0c;講到如何使用、集成第三方插件&#xff0c;如何將現有項目進行鴻蒙化改造&#xff0c;以及上架審核等內容&#xff1b;還以高德地圖的 HarmonyOS SDK 的使用為例&#xff0c; 講解了如何將高德地圖集成…

Vmware ubuntu22.04 虛擬機 連接Windows主機虛擬串口

1. Windows虛擬串口配置 虛擬串口下載&#xff1a;教程網址 虛擬串口使用&#xff1a;教程網址 2. Ubuntu 虛擬串口配置 Vmware ubuntu22.04 虛擬機 連接windows主機虛擬串口_vmware中ttys0連接的是哪個端口-CSDN博客 注意&#xff1a;虛擬添加串口的時候&#xff0c;一直…

編譯rk3568的buildroot不起作用

一、環境&#xff1a; 使用kickpi k1開發板&#xff0c;芯片為rk3568。 vmware ubuntu22.04 kickpi給的sdk包&#xff0c;應該不同友商是通用的。 使用的根文件為buildroot 二、問題&#xff1a; 由于 1、wpa_supplicant -D wext -c /etc/wpa_supplicant.conf -i wlan0 …

【動態規劃】簡單多狀態(二)

&#x1f4dd;前言說明&#xff1a; 本專欄主要記錄本人的基礎算法學習以及LeetCode刷題記錄&#xff0c;按專題劃分每題主要記錄&#xff1a;&#xff08;1&#xff09;本人解法 本人屎山代碼&#xff1b;&#xff08;2&#xff09;優質解法 優質代碼&#xff1b;&#xff…

如何選擇支持AI接入的開發語言與框架

選擇支持AI接入的開發語言與框架 在AI系統開發中,語言和框架的選擇不僅決定了代碼實現方式,更深刻影響模型服務的接入效率、調用方式、性能表現和未來的可維護性。相比傳統后端系統的語言選擇只需關注并發性能或生態成熟度,AI架構下的開發語言必須同時滿足以下幾類能力: 具…

計算機視覺與深度學習 | Python實現CEEMDAN-ABC-VMD-DBO-CNN-LSTM時間序列預測(完整源碼和數據)

以下是一個結合CEEMDAN、ABC優化VMD、DBO優化CNN-LSTM的完整時間序列預測實現方案。該方案包含完整的數據生成、算法實現和模型構建代碼。 完整實現代碼 import numpy as np import pandas as pd from PyEMD import CEEMDAN from vmdpy import VMD from sklearn.preprocessing…

React19源碼系列之渲染階段performUnitOfWork

在 React 內部實現中&#xff0c;將 render 函數分為兩個階段&#xff1a; 渲染階段提交階段 其中渲染階段可以分為 beginWork 和 completeWork 兩個階段&#xff0c;而提交階段對應著 commitWork。 在之前的root.render過程中&#xff0c;渲染過程無論是并發模式執行還是同…

c# 解碼 encodeURIComponent

在C#中&#xff0c;如果你需要解碼由encodeURIComponent方法編碼的URL&#xff0c;你可以使用System.Web命名空間中的HttpUtility.UrlDecode方法。這個方法可以處理由JavaScript的encodeURIComponent方法編碼的字符串。 首先&#xff0c;確保你的項目中引用了System.Web命名空…

Python學習心得:代碼森林的冒險

第一章&#xff1a;迷霧中的第一步 林然從未想過自己會與代碼結緣。那是一個平淡的周六清晨&#xff0c;陽光穿過窗簾&#xff0c;灑在她那臺老舊的筆記本電腦上。屏幕上&#xff0c;Python的安裝界面靜靜地等待著她的決定。她是一個文科生&#xff0c;大學主修社會學&#xf…