p17-使用api

import requests

# 执行API调用并存储响应
url = https://api.github.com/search/repositories?q=language:python&sort=stars
headers = {Accept: application/vnd.github.v3+json}
r = requests.get(url, headers=headers)
print(f"Status code: {r.status_code}")

# 将APi相应赋格给一个变量
response_dict = r.json()
print(f"Total repositories: {response_dict[‘total_count‘]}")

# 搜索有关仓库的信息
repo_dicts = response_dict[items]
print(f"Repositories returned: {len(repo_dicts)}")

print("\nSelected information about each repository:")
for repo_dict in repo_dicts:
    print(f"Name: {repo_dict[‘name‘]}")
    print(f"Owner: {repo_dict[‘owner‘][‘login‘]}")
    print(f"Stars: {repo_dict[‘stargazers_count‘]}")
    print(f"Repository: {repo_dict[‘html_url‘]}")
    print(f"Created: {repo_dict[‘created_at‘]}")
    print(f"Updated: {repo_dict[‘updated_at‘]}")
    print(f"Description: {repo_dict[‘description‘]}")

  

import requests

from plotly.graph_objs import Bar
from plotly import offline

# 执行API调用并存储响应
url = https://api.github.com/search/repositories?q=language:python&sort=stars
headers = {Accept: application/vnd.github.v3+json}
r = requests.get(url, headers=headers)
print(f"Status code: {r.status_code}")

# 处理结果
response_dict = r.json()
repo_dicts = response_dict[items]
repo_links, stars, labels = [], [], []
for repo_dict in repo_dicts:
    repo_name = repo_dict[name]
    repo_url = repo_dict[html_url]
    repo_link = f"<a href=‘{repo_url}‘>{repo_name}</a>"
    repo_links.append(repo_link)

    stars.append(repo_dict[stargazers_count])

    owner = repo_dict[owner][login]
    description = repo_dict[description]
    label = f"{owner}<br />{description}"
    labels.append(label)


# 可视化
data = [{
    type: bar,
    x: repo_links,
    y: stars,
    hovertext: labels,
    marker: {
        color: rgb(60, 100, 150),
        line: {width: 1.5, color: rgb(25, 25, 25)}
    },
    opacity: 0.6,
}]

my_layout = {
    title: Most-Starred Python Projects on GitHub,
    titlefont: {size: 28},
    xaxis: {
        title: Repository,
        titlefont: {size: 24},
        tickfont: {size: 14},
    },
    yaxis: {
        title: Stars,
        titlefont: {size: 24},
        tickfont: {size: 14},
    },

}

fig = {data: data, layout: my_layout}
offline.plot(fig, filename=python_repos.html)
import requests
import json

# 执行API调用并存储响应
url = https://hacker-news.firebaseio.com/v0/item/19155826.json
r = requests.get(url)
print(f"Status code: {r.status_code}")

# 探索数据结构
response_dict = r.json()
readable_file = data/readable_hn_data.json
with open(readable_file, w) as f:
    json.dump(response_dict, f, indent=4)

 

from operator import itemgetter

import requests

# 执行API调用并存储响应
url = https://hacker-news.firebaseio.com/v0/topstories.json
r = requests.get(url)
print(f"Status code: {r.status_code}")

# 处理有关每篇文章的信息
submission_ids = r.json()
submission_dicts = []
for submission_id in submission_ids[:10]:
    # 对于每篇文章有执行一个API调用
    url = f"https://hacker-news.firebaseio.com/v0/item/{submission_id}.json"
    r = requests.get(url)
    print(f"id: {submission_id}\tstatus: {r.status_code}")
    response_dict = r.json()
    
    # 对于每篇文章都创建一个字典
    submission_dict = {
        title: response_dict[title],
        hn_link: f"http://news.ycombinator.com/item?id={submission_id}",
        comments: response_dict[descendants],
    }
    submission_dicts.append(submission_dict)
    
submission_dicts = sorted(submission_dicts, key=itemgetter(comments),
                            reverse=True)

for submission_dict in submission_dicts:
    print(f"\nTitle: {submission_dict[‘title‘]}")
    print(f"Discussion link: {submission_dict[‘hn_link‘]}")
    print(f"Comments: {submission_dict[‘comments‘]}")

 

p17-使用api

上一篇:Yield Return C#


下一篇:window.localtion方法使用