Fetch top 10 starred repositories of user on GitHub using Python

In this tutorial, you will learn to fetch the top 10 starred repositories of the user on top 10 starred repositories in Python.

Github is a platform where all developers come together and contribute their skills to create better software.

But before you have to login into Github by clicking here

So here is the code,

Python program to fetch top 10 starred repositories of user on GitHub

#Python 3.7

import requests
from bs4 import BeautifulSoup
r = requests.get('https://github.com/trending/lua?since=monthly')
bs = BeautifulSoup(r.text, 'lxml')
lista_repo = bs.find_all('ol', class_='repo-list')
f1 = open('starred-repos.txt', 'w')
for lr in lista_repo:
    aux = lr.find_all('div', class_='d-inline-block col-9 mb-1')
    for ld in aux:
        rank = ld.find_all('a')
        f1.writelines(str(rank))
        f1.writelines('\n')
f1.close()
f1= open('starred-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('starred-repos.txt', 'w')
f1.writelines('{}\t {}\t\t {}\t\n\n'.format('Position ', 'Name ', 'Repositories '))

for i in range(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('stared-repos.txt','r')
print(f1.read())
f1.close()

Note: Here we are using the concept of “file handling”, if you are not familiar with file handling, please go through it once.

Output

Position            Name           Repositories

1-              skywind3000           z.lua
2-                  Kong               kong
3-                 Gawen              WireHub
4-              PapyElGringo      material-awesome
5-                koreader           koreader
6-                stijnwop       guidanceSteering
7-               Courseplay         courseplay
8-                Tencent            LuaPanda
9-                 ntop               ntopng
10-             awesomeWM             awesome

Also read: What is GitHub and How to push your code on GitHub ?

Leave a Reply

Your email address will not be published. Required fields are marked *