获取github上的信息
问题
不是问题,就是想要看看GitHub上一些Nb的项目,看看别的人都是怎么玩的。
然后GitHub自带search和api,刚好复习下怎么抓信息下来。
过程
-
首先确定能够提供搜索的页面URL
https://api.github.com/search/repositories?q=language:python&sort=stars&per_page=100
这里q=后面的都是提供的搜索的参数,这些参数在github的develop API文档里面有写,需要看看的。
但是要注意per_page=100,这个如果不带,那么仅返回30个item出来,这个是默认的。
-
我用自己的github账号申请了token,但是发现也并不是有什么用,用匿名的也可以获得自己想要的信息
-
提供headers是必须的
headers={‘Accept’:’application/vnd.github.v3+json’}
-
下面是一些编码
r=requests.get(url,headers) resp=r.json() #打印下resp会发现是一个字典 #解析这个字典,提取list respd=resp['items'] for e in respd: print(f"\nName: {e['name']}") print(f"\nURL: {repo_dict['html_url']}") print(f"\nDescription: {repo_dict['description']}")
-
根据query的不同,可以解析获得不同的结果,比如star数量,用的语言,是否带有某些关键字等等。
-
我列出来一些上万颗星的库,python的库,go的库,以及一些fork很多的电子书的库等