日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python怎么做项目_听说你没有python项目可做,我教你个方法

發布時間:2025/3/8 python 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python怎么做项目_听说你没有python项目可做,我教你个方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原標題:聽說你沒有python項目可做,我教你個方法

學習了一段時間的Python,最近出現了“饑荒”,感覺需要多看些代碼,多學習學習別人做些什么,但卻不知道做點什么來進行練習。

說到看代碼,我就想到了全球最大的同性交友網站GitHub。

在GitHub上面找項目還不能漫無目的的去找啊,畢竟這是一個大寶庫,里面的內容非常豐富;

不僅僅是有Python,還有JS,JAVA等很多很多的語言,如果一直盲目的看下去,會浪費大量的時間。

所以我就打算寫一個小爬蟲,來爬取一下GitHub上面我想要的小項目。

·首先既然是要練習python的項目,肯定語言是Python;

·其次,既然是小項目,那代碼不會太長,我這里設置為150K-200K的文件大小,這樣應該項目也會比較小;

·最后,我如果獲取的是整個GitHub上面的這個大小的python項目,對我來說也是海量的,所以要限制數量,我這里限制為最近一個月發布的30個項目。

好了這就是我的需求了,一共三點,同樣我們要去考慮一下,這三點的內容應該如何應對。

首先第一個就是怎么去找到所有的python項目呢?在這里我們使用了GitHub的API來獲取項目,那首先來看一下API的形式。

https://api.github.com/search/code?q=language:想找的語言

這個輸入了之后,就可以找到想找的語言的所有項目了。

但找到了并沒有結束,還需要給爬下來,那這里面選擇的是requests庫,通過requests對網頁進行訪問,獲取數據:

import requests

GetCodeApi = "https://api.github.com/search/code?q="

GetRepoApi ="https://api.github.com/search/repositories?q=language:python"

在整個API中,設置的條件還有三個還要提供文件大小以及目錄:

https://api.github.com/search/code?q=language:語言+size:大小+repo:目錄

這里大家可能比較好奇為什么我可以構建出來這樣的一個API,實際上是通過GitHub的API接口網站來找的,這里有一個例子:

我們可以看到里面有很多的字段,比如說我選中的這個字段,實際上就代表了這個文件的大小,那也是符合我們需要的字段,那就需要在這個API中體現出來。

repo這個參數在哪里呢?實際上這個參數在html_url中:

當然啦,你要是認為哪個repo是和full_name一樣的話,也是可以的,其實我最開始也是這么認為的。

不過后來我看到了下面這個東西,就認為上面的那個html_url這個更為靠譜些,就選擇它了。

后面全部都是這個東西,那就是我們所需要的了。

下面我們就要建立一個函數,三個參數是需要我們自己輸入的。

def get_code(language, size, repo):

這三個參數都是為了組成URL的,那這里面我們也要寫上URL的內容:

url = GetCodeApi +"language:" + language + "+size:" + size +"+repo:" + repo

這樣就可以訪問GitHub的接口了,但是我們要用它,讀取這個JSON內容:

info =requests.get(url).json()

外加一個循環來進行重復性的操作:

if 'items' in info:

for i ininfo['items']:

print(i['html_url'])

構建完了整個的函數。下面放上完整版:

def get_code(language, size, repo):

url = GetCodeApi +"language:" + language + "+size:" + size +"+repo:" + repo

# 訪問GitHub接口

info =requests.get(url).json()

if 'items' in info:

for i ininfo['items']:

print(i['html_url'])

好,構建完了這個之后,我們就要進行下一步了,在上一步中我們實際上解決了兩個問題;

一個是如何查找所有的python語言的項目,第二個是怎么限制文件的大小。

接下來需要解決的就是判斷時間的問題,我們需要找到JSON里面寫的這個:

方框中這兩個值比較重要,第一個帶黃底的是建立時間,第二個是更新時間。

框選兩個是方便我們進行篩選,如果想找建立時間的,就用created_at進行判斷,如果想找更新時間的就用updated_at來判斷。

def get_project(FindTime):

info = requests.get(GetRepoApi).json()

for I in info[‘items’]:

created_time = i[‘created_at’]

當然了,這里面我們找的是建立時間的,也可以找更新時間的(更新時間的感覺項目會更多一些),

如果要是更新時間的就將created_at改為updated_at就可以了。

if created_time > FindTime

如果建立時間大于查找時間的時候,就執行下面的內容(這里給內容直接寫死了,大家可以開動一下腦筋改一下~改為自己輸入哦~):

language ="python"

size = "<200"

現在看到其實語言和size寫死了,但是這個repo真的不能寫死啊,這時候上面的截圖里面有些html_url的后面箭頭指的是repo的,那我們需要提取出來:

repo =i['html_url'].replace("https://github.com/", "")

這次就要激活一下上面寫的查找函數了:

get_code(language,size, repo)

執行這個函數就OK了,但是這里面有個問題,就是這個時間的問題。

時間推薦直接手動修改字符串,例如get_project(‘2019-02-12T00:00:00Z’)

好,那就給這部分的代碼完整版放出來咯

def get_project(FindTime):

info = requests.get(GetRepoAPI).json()

for i in info['items']:

created_time =i['created_at']

if created_time >last_week:

language ="python"

size ="<200"

repo =i['html_url'].replace("https://github.com/", "")

get_code(language,size, repo)

這樣我們就有取之不盡,用之不竭的小項目可以模仿,可以學習咯~

輸出的結果是這樣的:

最后,我將繼續扮演一個小白,努力創造一個努力學習的小白形象,技術代碼兩開花,弘揚中華文化,希望大家多多支持啊~返回搜狐,查看更多

責任編輯:

總結

以上是生活随笔為你收集整理的python怎么做项目_听说你没有python项目可做,我教你个方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。