github API 实例 python源码 爬取用户信息

 

1. 可以通过github提供的API获取用户、项目等信息,而不需要爬虫

2. github的API文档地址https://developer.github.com/v3/search/#constructing-a-search-query

含接口条件参数构造、限制条件、接口地址、返回样式等,建议先阅读以下

github API 实例 python源码 爬取用户信息_第1张图片

3. 调用接口前需要先获取github自己的授权token,位置(settings → Developersettings → Personal access tokens → Generate new token)

github API 实例 python源码 爬取用户信息_第2张图片

 

4. 构造的http请求的header中需要包含上面的token

headers: {
'User-Agent':'Mozilla/5.0',
'Authorization':'token xxxxxxxxxxxxxxxxxx',
'Content-Type':'application/json',
'method':'GET',
'Accept':'application/json'
}

5. python源码示例

import requests
import json

# 获取指定接口的数据
def fetchUrl(url):
    '''
    功能:访问 url 的网页,获取网页内容并返回
    参数:目标网页的 url
    返回:目标网页的 html 内容
    '''

    headers = {
        'User-Agent':'Mozilla/5.0',
        'Authorization':'token xxxxxxxxxxxxxxxxxxxxxxxxx',
        'Content-Type':'application/json',
        'method':'GET',
        'Accept':'application/json'
    }

    r = requests.get(url, headers=headers)
    r.raise_for_status()
    r.encoding = r.apparent_encoding

    result = json.loads(r.text)  # json字符串转换成字典

    return result



if __name__ == '__main__':
    '''
    主函数:程序入口
    '''

    conditions = 'q=fullname:Ruan'
    query_url = 'https://api.github.com/search/users?' + conditions


    fetch_result = fetchUrl(query_url)


    print(fetch_result)

github API 实例 python源码 爬取用户信息_第3张图片

你可能感兴趣的:(爬虫,github,python,爬虫)