1.发送请求

import requests

url = 'http://www.tipdm.com/tipdm/index.html'

rqq = requests.get(url)

In [ ]:

print('响应码:', rqq.status_code)
print('编码:', rqq.encoding)
print('请求头:', rqq.headers)
# print('实体:', rqq.text)
print('实体:', rqq.content)

In [ ]:

print('实体:', rqq.text[:40])
print('实体:', rqq.content[:40])

2.设置编码

In [ ]:

import requests

url = 'http://www.tipdm.com/tipdm/index.html'

rqq = requests.get(url)
rqq.encoding = 'utf-8'
print('实体:', rqq.text)

In [ ]:

print('实体:', rqq.content.decode('utf-8'))

3.自适应编码设置

In [ ]:

import chardet
#chardet库使用detect方法检测给定字符串的编码
chardet.detect(rqq.content)

4.防止连接不稳定

In [ ]:

import requests

url = 'http://www.tipdm.com/tipdm/index.html'
head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'} '''
为避免因等待服务器响应造成程序永久失去响应,通常需要给程序设置一个时间作为
限制,超过该时间后程序将会自动停止等待。在requests库中通过设置timeout
这个参数实现,超过该参数设定的秒数后,程序会停止等待
'''
rqq = requests.get(url, headers=head, timeout=2.)
rqq.headers

5.完整实例

In [ ]:

import requests
import chardet
url = 'http://www.tipdm.com/tipdm/index.html'
head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
rqq = requests.get(url, headers=head, timeout=2.0)
# rqq.encoding = 'utf-8'
rqq.encoding = chardet.detect(rqq.content)['encoding']
rqq.text

6.参考文章

【创作不易,望点赞收藏,若有疑问,请留言,谢谢】

使用requests库实现http请求的更多相关文章

  1. requests库的post请求

    requests库的post请求 #coding:utf-8 import requests import json class Trans(object): def __init__(self, w ...

  2. 『居善地』接口测试 — 4、Requests库发送GET请求

    目录 1.使用Requests库发送带参数的GET请求 2.查看GET请求的内容 3.带请求头.参数的Get请求 Requests库GET请求是使用HTTP协议中的GET请求方式对目标网站发起请求. ...

  3. 『居善地』接口测试 — 5、使用Requests库发送POST请求

    目录 1.请求正文是application/x-www-form-urlencoded 2.请求正文是raw (1)json格式文本(application/json) (2)xml格式文本(text ...

  4. python利用requests库模拟post请求时json的使用

    我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上: 1.GET是通过URL方式请求,可以直接看到,明文传输. 2.POS ...

  5. 4.爬虫 requests库讲解 GET请求 POST请求 响应

    requests库相比于urllib库更好用!!! 0.各种请求方式 import requests requests.post('http://httpbin.org/post') requests ...

  6. 用python的Requests库模拟http请求

    一.先了解几个重要的http请求头或响应头信息 Request Headers: Host: 描述请求将被发送的目的地,包括,且仅仅包括域名和端口号. Origin: 说明请求从哪里发起的,包括,且仅 ...

  7. python爬虫(八) requests库之 get请求

    requests库比urllib库更加方便,包含了很多功能. 1.在使用之前需要先安装pip,在pycharm中打开: 写入pip install requests命令,即可下载 在github中有关 ...

  8. 【python接口自动化】- 使用requests库发送http请求

    前言:什么是Requests ?Requests 是⽤Python语⾔编写,基于urllib,采⽤Apache2 Licensed开源协议的 HTTP 库.它⽐ urllib 更加⽅便,可以节约我们⼤ ...

  9. requests库入门08-delete请求

    还是使用GitHub的接口,之前我们新增了邮箱,这次使用delete请求来删除邮箱,接口文档地址 import requests test_url = 'https://api.github.com' ...

  10. requests库入门07-patch请求

    使用data参数提交 设置邮件能见度,这个接口用来设置邮件是公共可见,还是私有的 import requests test_url = 'https://api.github.com' def get ...

随机推荐

  1. css样式相关的惊艳的属性

    CSS gap 简写属性用于设置行与列之间的间隙(网格间距). 规范的早期版本将该属性命名为 grid-gap,且为了保持与旧网站的兼容性,浏览器仍然会接受 grid-gap 作为 gap 的别名. ...

  2. Angular的管道

    Angular的管道可以看作成是一个数据格式化展示的工具.管道可以将数据格式化显示,而不改变源数据.获取数据可能简单到创建一个局部变量就行,也可能复杂到从WebSocket中获取数据流.一旦取到数据, ...

  3. k8s多集群切换:使用kubeconfig文件管理多套kubernetes(k8s)集群

    目录 一.系统环境 二.前言 三.kubeconfig文件 四.kubernetes(k8s)多集群切换 一.系统环境 服务器版本 docker软件版本 CPU架构 CentOS Linux rele ...

  4. Docker 必知必会4----容器之间的通信

    前面几篇文章,我们基本聊了docker的基本概念,以及基本的操作手段: https://www.cnblogs.com/jilodream/p/18177695   初识dockerhttps://w ...

  5. 【u8 login debug】u8 16.0 没有调试 login的解决办法

    16.0 没有调试 login,改一下注册表 就行[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Ufsoft\WF\V8.700]"Enable.Debu ...

  6. 浅谈C#中取消令牌CancellationTokenSource

    基础操作 CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(); cancellationTo ...

  7. LlamaFS自组织文件管理器

    LlamaFS是一个自组织文件管理器.它可以基于文件内容和修改时间等属性自动重命名和组织您的文件.它能让你不把时间花在对文件的复制.粘贴.重命名.拷贝.排序等简单操作上.有幸在Github上看到Lla ...

  8. Java 中 hashCode 和 equals 方法是什么?它们和 == 各有什么区别?

    在 Java 中,hashCode 和 equals 方法都是 Object 类的方法.它们的作用分别如下: hashCode 方法返回对象的哈希码,用于支持基于哈希表的集合,如 HashMap.Ha ...

  9. 7.30考试总结(NOIP模拟28)[遗忘之祭仪·客星璀璨之夜·割海成路之日]

    一个人有表里两面,你能看到的,仅仅是其中一面而已. 前言 看着这套题非常不可做,但是经历的所有的模拟赛中,这次还是第一次切题(惭愧) 本来 T1 我 1h 就码完了,交了一遍 TLE90 然后后来两个 ...

  10. 面试官:说一说如何优雅的关闭线程池,我:shutdownNow,面试官:粗鲁!

    写在开头 面试官:"小伙子,线程池使用过吗,来聊一聊它吧!" 我:"好的,然后巴拉巴拉一顿输出之前看过的build哥线程池十八问..." 面试官满意的点了点头, ...