requests很明显,在写法上与urllib.request不同,前者多一个 S.
导入包时:
import requests
import urllib.request
urllib.request请求模块,用于打开和读取url
urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)
response.read()可以获取到网页的内容
timeout参数的使用在某些网络情况不好或者服务器端异常的情况会出现请求慢的情况,或者请求异常,有时也用来解决反爬,控制爬行速度。
response.status,response.getheaders()【response.headers】【response.info()】获取状态码以及头部信息。response.read()获得的是响应体的内容.
urlopen()只能用于简单的请求,它无法添加header信息。
urllib.request.Request(url) 注意大写。
使用data参数;
data = urllib.parse.urlencode(dict).encode(‘utf-8’)
使用data参数如果要传 必须传bytes(字节流) 类型的,如果是一个字典,先用 urllib.parse.urlencode() 编码。
request = urllib.request.Request(url = url,data = data,headers = headers,method = ‘POST’)
2.req = urllib.request.Request(url=url,data=data,method=‘POST’)
req.add_header(‘User-Agent’,'Mozilla/5.0) 添加头部信息
rulllib.request.ProxyHandler()设置代理,网站会检测某一段时间某个IP 的访问次数,访问次数过多,会禁止访问,使用代理安全系数也会相应提高。
urllib.error:包含提出有例外的urllib.request
urllib.parse:用于解析url
urllib.robotparser:用于解析robots.txt文件。
requests完全满足网络爬虫的需求,他是在urllib基础上进一步封装,具备urllib的全部功能。

安装 pip install requests
基于http的post,get请求
r = requests.get(url, params=d) 参数d表示值为字符串的字典,d不是必须的
r = requests.post(url,data=data)post请求需 设置请求参数data
请求对象response相应内容
r.status_code:响应状态码
r.raw:原始响应体,使用r.raw.read()读取
r.content:字节方式的响应体,需要进行解码
r.text:字符串形式的响应体,会自动根据响应头部的字符编码进行解码
r.headers:以字典对象存储服务器响应头,字典见键不区分大小写,若键不存在返回none。
r.json():Requests中内置的json解码器
r.raise_for_status():请求失败,抛出异常
r.url:获取请求链接
r.cookies:获取请求后的cookie
r.encoding:获取编码格式
---------------------
作者:秋瑾先生

requests与urllib.request的更多相关文章

  1. Python3 内置http.client,urllib.request及三方库requests发送请求对比

    如有任何学习问题,可以添加作者微信:lockingfree 更多学习资料请加QQ群: 822601020获取 HTTP,GET请求,无参 GET http://httpbin.org/get Pyth ...

  2. 爬虫小探-Python3 urllib.request获取页面数据

    使用Python3 urllib.request中的Requests()和urlopen()方法获取页面源码,并用re正则进行正则匹配查找需要的数据. #forex.py#coding:utf-8 ' ...

  3. Pthon常用模块之requests,urllib和re

    urllib Python标准库中提供了:urllib等模块以供Http请求,但是,它的 API 太渣了. 它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务, 下面是简单的使用urllib来 ...

  4. py3+requests+re+urllib,爬取并下载不得姐视频

    实现原理及思路请参考我的另外几篇爬虫实践博客 py3+urllib+bs4+反爬,20+行代码教你爬取豆瓣妹子图:http://www.cnblogs.com/UncleYong/p/6892688. ...

  5. 爬虫入门【1】urllib.request库用法简介

    urlopen方法 打开指定的URL urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, ca ...

  6. Python3——根据m3u8下载视频(上)之urllib.request

    干活干活,区区懒癌已经阻挡不了澎湃的洪荒之力了...... 运行环境:Windows基于python3.6 ---------------------------------------------- ...

  7. 爬虫初探(1)之urllib.request

    -----------我是小白------------ urllib.request是python3自带的库(python3.x版本特有),我们用它来请求网页,并获取网页源码. # 导入使用库 imp ...

  8. 关于python3.X 报"import urllib.request ImportError: No module named request"错误,解决办法

    #encoding:UTF-8 import urllib.request url = "http://www.baidu.com" data = urllib.request.u ...

  9. urllib.request

    [urllib.request] 1.urlopen结果保存在内存. 2.ulrretrieve结果保存到文件. 3.response有read方法. 4.可以创建Request对象. 5.发送Pos ...

随机推荐

  1. [Abp vNext微服务实践] - 框架分析

    一.简介 abp vNext新框架的热度一直都很高,于是最近上手将vNext的微服务Demo做了一番研究.我的体验是,vNext的微服务架构确实比较成熟,但是十分难以上手,对于没有微服务开发经验的.n ...

  2. sql网址

    w3school版 https://www.w3school.com.cn/sql/index.asp 菜鸟教程版 https://www.runoob.com/sql/sql-tutorial.ht ...

  3. 关于TCP/IP协议的记录

    本博客是个人随笔,只是记录自己的学习过程.

  4. 《ABCD组》第四次作业:项目需求调研与分析

    <ABCD组>第四次作业:项目需求调研与分析 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https:// ...

  5. LevelDB的源码阅读(三) Get操作

    在Linux上leveldb的安装和使用中我们写了这么一段测试代码,内容以及输出结果如下: #include <iostream> #include <string> #inc ...

  6. celery timeout的拦截

    0X01 场景 celery任务超时报错,想查看是传入哪一类数据运行时导致的超时(哪一个插件),但是该报错难以拦截. [2019-06-30 17:23:21,070: ERROR/MainProce ...

  7. Python2.7学习

    网上很多代码都不适用于python3版本,所以还是转回版本2来学习了 install 安装模块特别简单 E:\01_SOFT\Python27\python  -m easy_install sunb ...

  8. CF359D Pair of Numbers gcd+暴力

    利用区间 gcd 个数不超过 log 种来做就可以了~ code: #include <bits/stdc++.h> #define N 300005 #define setIO(s) f ...

  9. DOM操作1

    1.DOM文档对象模型:操作页面元素(标签) html文件看成一个文档,把文档看成一个对象 xml也是一种文档,标签自定义,系统不自带标签,偏向于存储数据 2.DOM树:由文档及文档中的所以元素(标签 ...

  10. iptables防火墙--------基本操作

    查看规则 查看filter表中的规则 $ iptables -t filter -L 使用-t选项,指定要操作的表.使用-L 选项,查看-t选项对应表的规则,-L 选项的意思是,列出规则. ps : ...