Computer >> Máy Tính >  >> Lập trình >> Python

Tìm nạp 10 kho lưu trữ có gắn dấu sao hàng đầu của người dùng trên GitHub bằng Python?

Git là hệ thống kiểm soát phiên bản phổ biến nhất, nơi hàng triệu nhà phát triển quản lý dự án hoặc tệp (mã) của họ. Trong phần này, chúng tôi sẽ cố gắng tìm nạp 10 kho lưu trữ được đánh dấu sao nhiều nhất trong vòng một tháng.

Vì chúng tôi chủ yếu tìm kiếm các kho lưu trữ GitHub, chúng tôi sẽ sử dụng chủ yếu,

Thư viện Request &BeautifulSoup để tìm nạp các kho.

Chúng tôi sẽ lưu trữ kết quả trong một tệp và hiển thị nó. Nó sẽ hiển thị kết quả dựa trên vị trí (sao) với tên và đại diện.

Dưới đây là mã để triển khai nó:

 import requestfrom bs4 import BeautifulSoupr =request.get ('https://github.com/trending/lua?since=monthly') bs =BeautifulSoup (r.text, 'lxml') lista_repo =bs.find_all (' ol ', class _ =' repo-list ') f1 =open (' stars-repos.txt ',' w ') cho lr trong lista_repo:aux =lr.find_all (' div ', class _ =' d-inline-block col-9 mb-1 ') cho ld trong aux:rank =ld.find_all (' a ') f1.writelines (str (rank)) f1.writelines (' \ n ') f1.close () f1 =open ( 'stars-repos.txt', 'r') texto =[] for x in f1:if x [0] =='[' and x [1] =='<' and x [2] =='a ':na =x.split (' "') texto.append (na [1]) f1.close () f1 =open (' stars-repos.txt ',' w ') f1.writelines (' {} \ t {} \ t \ t {} \ t \ n \ n'.format ('Vị trí', 'Tên', 'Kho lưu trữ')) cho tôi trong phạm vi (10):tex =texto [i] .split (' / ') name =tex [1] repos =tex [2] f1.writelines (' {} - \ t {} \ t \ t {} '. format (i + 1, name, repos)) f1.writelines ( '\ n') f1.close () f1 =open ('stars-repos.txt', 'r') print (f1.read ()) f1.close () 

Đầu ra

 Vị trí Tên kho lưu trữ1- skywind3000 z.lua2- Kong kong3- Gawen WireHub4- PapyElGringo material-awesome5- koreader koreader6- stijnwop guideSteering7- Courseplay courseplay8- Tencent LuaPanda9- ntop ntopng10- awesomeWM awesome