美文网首页
2019-06-06Requests

2019-06-06Requests

作者: hcc_9bf4 | 来源:发表于2019-06-09 20:12 被阅读0次

官方文档
http://cn.python-requests.org/zh_CN/latest/
安装
pip install requests
用来做什么?
和urllib是同一个位置的

  • get请求
    r=requests.get(url)#发送请求,构建请求对象
    print(r.encoding)#打印编码方式
    r.encoding='utf8' #把编码方式设置为utf8
    print(r.text) #按字符串类型打印响应内容
    print(r.content) #按字节类型打印响应内容
    print(r.status_code) #查看状态码
    print(r.headers)#查看响应头部
    print(r.url) #查看请求的URL
    print(r.json()) #查看json格式数据
    定制头部

url='http://www.baidu.com/?'
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
}
r=requests.get(url,headers=headers)

  • 带参数的get请求
    'url='https://www.baidu.com/s?ie=utf-8&wd=日本 ''
    headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
    }
    data={
    'ie':'utf-8',
    'wd':'日本',
    }
    怎么来访问呢?
    data是一个原生字典即可

r=requests.get(url,headers=headers,params=data) #params参数引进关键字字典

import requests

#url='https://www.baidu.com/s?ie=utf-8&wd=日本'
url='http://www.baidu.com/s?'
headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
}
data={
    'ie':'utf-8',
    'wd':'日本',
}
# parameters 参数
r=requests.get(url,headers=headers,params=data) #params参数引进关键字字典

#把结果写入到文件中
with open('baidu.html','wb') as fp:
    fp.write(r.content)
  • post请求
    必应翻译为例:
    formdata是一个原生字典即可

r=requests.post(url=url,headers=headers,data=formdata)

查询text(英语)的汉语内容

import requests

url='https://cn.bing.com/ttranslationlookup?&IG=4626D48A591D4B11A887749CB21EACCE&IID=translator.5038.11'

formdata={
    'text': 'wolf',
    'from': 'en',
    'to': 'zh-CHS',
}


headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
}

r=requests.post(url=url,headers=headers,data=formdata)
#print(r.text)
print(r.json())

响应内容为:

{'normalizedSource': 'wolf', 'displaySource': 'wolf', 'translations': [{'normalizedTarget': '狼', 'displayTarget': '狼', 'posTag': 'NOUN', 'confidence': 0.3775, 'prefixWord': '', 'backTranslations': [{'normalizedText': 'wolf', 'displayText': 'wolf', 'numExamples': 15, 'frequencyCount': 1850}, {'normalizedText': 'wolves', 'displayText': 'wolves', 'numExamples': 5, 'frequencyCount': 752}, {'normalizedText': 'coyote', 'displayText': 'coyote', 'numExamples': 5, 'frequencyCount': 38}, {'normalizedText': 'werewolf', 'displayText': 'werewolf', 'numExamples': 5, 'frequencyCount': 36}, {'normalizedText': 'lang', 'displayText': 'Lang', 'numExamples': 0, 'frequencyCount': 26}]}, {'normalizedTarget': '沃尔夫', 'displayTarget': '沃尔夫', 'posTag': 'NOUN', 'confidence': 0.108, 'prefixWord': '', 'backTranslations': [{'normalizedText': 'wolf', 'displayText': 'wolf', 'numExamples': 14, 'frequencyCount': 152}, {'normalizedText': 'whorf', 'displayText': 'Whorf', 'numExamples': 3, 'frequencyCount': 15}]}, {'normalizedTarget': '野 狼', 'displayTarget': '野狼', 'posTag': 'NOUN', 'confidence': 0.1011, 'prefixWord': '', 'backTranslations': [{'normalizedText': 'wolf', 'displayText': 'wolf', 'numExamples': 15, 'frequencyCount': 49}, {'normalizedText': 'wolves', 'displayText': 'wolves', 'numExamples': 5, 'frequencyCount': 24}, {'normalizedText': 'coyotes', 'displayText': 'coyotes', 'numExamples': 4, 'frequencyCount': 8}]}, {'normalizedTarget': '匹 狼', 'displayTarget': '匹狼', 'posTag': 'NOUN', 'confidence': 0.0985, 'prefixWord': '', 'backTranslations': [{'normalizedText': 'wolf', 'displayText': 'wolf', 'numExamples': 15, 'frequencyCount': 38}, {'normalizedText': 'wolves', 'displayText': 'wolves', 'numExamples': 2, 'frequencyCount': 10}]}, {'normalizedTarget': '大 灰 狼', 'displayTarget': '大灰狼', 'posTag': 'NOUN', 'confidence': 0.0979, 'prefixWord': '', 'backTranslations': [{'normalizedText': 'wolf', 'displayText': 'wolf', 'numExamples': 15, 'frequencyCount': 32}]}, {'normalizedTarget': '豺狼', 'displayTarget': '豺狼', 'posTag': 'NOUN', 'confidence': 0.0799, 'prefixWord': '', 'backTranslations': [{'normalizedText': 'wolf', 'displayText': 'wolf', 'numExamples': 15, 'frequencyCount': 31}, {'normalizedText': 'jackal', 'displayText': 'jackal', 'numExamples': 5, 'frequencyCount': 23}, {'normalizedText': 'wolves', 'displayText': 'wolves', 'numExamples': 2, 'frequencyCount': 12}]}, {'normalizedTarget': '恶 狼', 'displayTarget': '恶狼', 'posTag': 'NOUN', 'confidence': 0.0695, 'prefixWord': '', 'backTranslations': [{'normalizedText': 'wolf', 'displayText': 'wolf', 'numExamples': 9, 'frequencyCount': 15}, {'normalizedText': 'wolves', 'displayText': 'wolves', 'numExamples': 4, 'frequencyCount': 5}]}, {'normalizedTarget': '伍尔夫', 'displayTarget': '伍尔夫', 'posTag': 'NOUN', 'confidence': 0.0677, 'prefixWord': '', 'backTranslations': [{'normalizedText': 'woolf', 'displayText': 'Woolf', 'numExamples': 5, 'frequencyCount': 31}, {'normalizedText': 'wolf', 'displayText': 'wolf', 'numExamples': 10, 'frequencyCount': 21}]}]}
[Finished in 0.6s]
  • ajax,get,post
    和上面是一样的
  • 代理

r=requests.get(url,headers=headers,proxies=proxies)

用法举例:

import requests

url='https://www.baidu.com/s?ie=utf-8&wd=ip'

proxies={
    'http':'http://112.87.71.131:99999'
}

headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
}

r=requests.get(url,headers=headers,proxies=proxies)

with open('daili.html','wb') as fp:
    fp.write(r.content)
  • cookie
    实现人人登录
    如果碰到会话相关问题,要首先创建一个会话
    s=requests.Session()
    往下所有操作都是通过s进行访问 s.get s.post
import requests
#如果碰到会话相关问题,要首先创建一个会话
#往下所有操作都是通过s进行访问 s.get s.post
s=requests.Session()
#登录的url
post_url='http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2019502038738'

headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
}


formdata={
    'email':'15072447862',
    'icode':'',
    'origURL':'http://www.renren.com/home',
    'domain':'renren.com',
    'key_id':'1',
    'captcha_type':'web_login',
    'password':'b1de4c12697095c462d2b4090c0cb12d267ed14ec387019d225a3331a1ac3740',
    'rkey':'6d7d2086ddd44c39ae683b6d93c0a39f',
    'f':'https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DRNBaL_83zfySfbHMGf9t3XyLUQtDMiimZR9DW2_ehXC%26wd%3D%26eqid%3Dd992ef6000af2214000000035cfcfdc1',
}
r=s.post(url=post_url,headers=headers,data=formdata)

# print(r.text)
#登录后的url
get_url='http://www.renren.com/970820607/profile'
r=s.get(url=get_url,headers=headers)

print(r.text)

相关文章

  • 2019-06-06Requests

    官方文档http://cn.python-requests.org/zh_CN/latest/安装pip inst...

网友评论

      本文标题:2019-06-06Requests

      本文链接:https://www.haomeiwen.com/subject/rfypxctx.html