内容简介:User-Agent会告诉网站服务器,访问者是通过什么工具来请求的,如果是爬虫请求,一般会拒绝,如果是用户浏览器,就会应答。
https://developer.github.com/v3/migrations/users/
-
json.load()将已编码的 JSON 字符串解码为 Python 对象
def loads(s, encoding=None, cls=None, object_hook=None, parse_float=None,
parse_int=None, parse_constant=None, object_pairs_hook=None, **kw):
"""Deserialize ``s`` (a ``str`` instance containing a JSON
document) to a Python object.
复制代码
-
json.dumps()将 Python 对象编码成 JSON 字符串
def dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True,
allow_nan=True, cls=None, indent=None, separators=None,
default=None, sort_keys=False, **kw):
"""Serialize ``obj`` to a JSON formatted ``str``.
复制代码
-
encode将Python对象编码成JSON字符串 -
decode将已编码的JSON字符串解码为Python对象
URL = 'https://api.github.com'
def build_uri(endpoint):
return '/'.join([URL, endpoint])
def better_print(json_str):
"""Deserialize ``s`` (a ``str`` instance containing a JSON
document) to a Python object."""
return json.dumps(json.loads(json_str), indent=4)
def request_method():
response = requests.get(build_uri('user/emails'), auth=('user', 'psw'))
print(response.status_code)
print(better_print(response.text))
>>[
{
"email": "octocat@github.com",
"verified": true,
"primary": true,
"visibility": "public"
}
]
复制代码
Github修改用户信息
Note: If your email is set to private and you send an email parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API.
response = requests.patch(url, auth=('user', 'psw'), json={'name':'123'})
请求异常处理
request.get(url,timeout=timeout) #timeout=(x1,x2) 每步单独限制request-response时长 #timeout=x 总体限制request-response时长
from requests import exceptions
def timeout_request():
try:
response = requests.get(build_uri('user/emails'),timeout=10)
except exceptions.Timeout as e:
print(str(e))
else:
print(response.text)
复制代码
自定义Requests
def hard_request():
from requests import Request, Session
s = Session()
headers = {'User-Agent': 'fake1.3.4'}
req = Request('GET',build_uri('user/emails'), auth=('user','psw'),
headers = headers)
prepped = req.prepare()
print(prepped.body)
print(prepped.headers)
resp = s.send(prepped, timeout=5)
print(resp.status_code)
print(resp.headers)
print(resp.text)
复制代码
关于User-Agent
User-Agent会告诉网站服务器,访问者是通过什么 工具 来请求的,如果是爬虫请求,一般会拒绝,如果是用户浏览器,就会应答。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
互联网思维独孤九剑
赵大伟 / 机械工业出版社 / 2014-3-20 / 49
《互联网思维独孤九剑》是国内第一部系统阐述互联网思维的著作,用9大互联网思维:用户思维、简约思维、极致思维、迭代思维、流量思维、社会化思维、大数据思维、平台思维、跨界思维,以专业的视角全方位解读移动互联网给传统产业带来的变革,涉及战略规划、商业模式设计、品牌建设、产品研发、营销推广、组织转型、文化变革等企业经营价值链条的各个方面。这是一部传统企业互联网转型必读的“孙子兵法”,帮助我们开启对新商业文......一起来看看 《互联网思维独孤九剑》 这本书的介绍吧!