requests模块其实就是对urllib.request模块的进步一不优化,提供了很多可选的参数,同时简化了操作。下面我还是贴上具体操作的代码。

requests GET请求

GET请求html文件

import requests

baseurl = "http://www.baidu.com/s?"
headers = {"User-Agent":"Mozilla/5.0"} key = "关键字"
pn = 1
pn = (int(pn) - 1) * 10
params = {
"wd" : key,
"pn" : pn,
}
res = requests.get(baseurl,
params=params,
headers=headers)
res.encoding = "utf-8"
html = res.text
print(html)
# res.status_code # HTTP响应码
# res.url # url地址

GET请求二进制文件

import requests

url = "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2914738751,1449131471&fm=26&gp=0.jpg"
headers = {"User-Agent":"Mozilla/5.0"}
# 三步走,发请求,指编码,获内容
res = requests.get(url,headers=headers)
res.encoding = "utf-8"
html = res.content
# 以 wb 的方式写入本地文件
with open("./mmm.jpg","wb") as f:
f.write(html)

requests POST 请求

import requests
import json key = 'this is a demo'data = {
"i":key,
"from":"AUTO",
"to":"AUTO",
"smartresult":"dict",
"client":"fanyideskweb",
"salt":"",
"sign":"108feafc7c01c7461a41034463a8df9b",
"ts":"",
"bv":"363eb5a1de8cfbadd0cd78bd6bd43bee",
"doctype":"json",
"version":"2.1",
"keyfrom":"fanyi.web",
"action":"FY_BY_REALTIME",
"typoResult":"false"
}
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
headers = {"User-Agent":"Mozilla/5.0"}
res = requests.post(url,data=data,headers=headers)
res.encoding = "utf-8"
html = res.text # 把json格式的字符串转为python中字典
rDict = json.loads(html)
result = rDict["translateResult"][0][0]["tgt"]

最新文章

  1. 对JavaScript中异步同步机制以及线程深入了解
  2. PostgreSQL 添加自定义变量
  3. Win7+Docker(boo2docker)搭建php开发环境简略
  4. Ionic的跨域问题
  5. opencv7-ml之svm
  6. Codeforces Round #389 Div.2 E. Santa Claus and Tangerines
  7. 高可用与负载均衡(8)之聊聊 LVS重要参数和优化以及监控
  8. 真机调试之android手机+chrome
  9. Python3基础 in 列表名 判断一个元素是否在列表中
  10. CoreLocation框架的使用---定位,求两地距离
  11. 理解perl的编码转换——utf8以及乱码
  12. 编写一个程序,从标准输入中读取若干string对象并查找连续重复出现的单词。所谓连续重复出现的意思是:一个单词后面紧跟着这个单词本身。要求记录连续重复出现的最大次数以及对应的单词
  13. 使用UILocalNotification给App添加本地消息通知
  14. 201521123014 《Java程序设计》第11周学习总结
  15. elasticsearch+kibana+metricbeat安装部署方法
  16. Spark Scheduler模块源码分析之DAGScheduler
  17. 检查一个二叉树是否平衡的算法分析与C++实现
  18. 微信公众号签名错误 invalid signature
  19. Java编程基础篇第一章
  20. C程序设计教学小结(选择结构)

热门文章

  1. ASP-Command-SQL格式
  2. 【转】 通过VMLibrary在client partition上安装AIX全程实录
  3. 洛谷 P3263 [JLOI2015]有意义的字符串
  4. Version 1.5 of the JVM is not suitable for this product.Version:1.6 or greater is required
  5. Log level with log4j and Spark
  6. 设置linux下shell显示不同颜色的字体
  7. 解决PowerDesigner 反向工程没有注释(备注)
  8. Linux yum源码包安装和卸载
  9. P4299 首都
  10. java利用反射将pojo转为json对象