www.python123.org_python爬虫-requests

Requests库是目前常用且效率较高的爬取网页的库

1.一个简单的例子

import requests #引入requests库

r = requests.get("http://www.baidu.com")  #调用get方法获取界面print(r.status_code)    #输出状态码

print(r.text)    #输出页面信息

通过以下代码,便可获取一个response对象

2.通用代码框架

importrequestsdefgetHtmlText(url):try:

r= requests.get(url, timeout = 30)    #设置响应时间和地址

r.raise_for_status()             #获取状态码,如果不是200会引发HTTPERROR异常

r.encoding=r.apparent_encoding #apparent_encoding是识别网页的编码类型returnr.textexcept:return "产生异常"

if __name__ == "__main__":

url= ‘http://www.baidu.com‘

print(getHtmlText(url))

3.requests库的具体介绍

3.1 response属性介绍

属性逻辑结构:

3.2requests方法介绍

requests库对比http协议

    

ps:在这些方法中,大致有三个参数,略有差别

3.2.1  get方法

r = requests.get(‘http://www.baidu.com‘)print(r.text)

3.2.2head方法

r = requests.head(‘http://www.baidu.com‘)print(r.headers)

3.2.3 post方法

payload = {‘key1‘: ‘value1‘, ‘key2‘ : ‘value2‘}

r= requests.post(‘http://httpbin.org/post‘, data =payload)print(r.text)#输出结果

{..."form": {"key1": "value1","key2": "value2"},

...}

3.2.4 put方法

payload = {‘key1‘: ‘value1‘, ‘key2‘ : ‘value2‘}

r= requests.put(‘http://httpbin.org/post‘, data =payload)print(r.text) #向URL传一个字典,自动编码为表单

#........字符串,........data#输出结果

{..."form": {"key1": "value1","key2": "value2"},

...}

3.2.5 reuqest方法--构造请求

requests.request(method, url, **kwrags)#method:请求方式,对应get/put/post等七种#url : 链接#**kwrags : 13个控制访问的参数

method请求方式:

requests.request(‘GET‘, url, **kwrags)

requests.request(‘HEAD‘, url, **kwrags)

requests.request(‘POST‘, url, **kwrags)

requests.request(‘PUT‘, url, **kwrags)

requests.request(‘PATCH‘, url, **kwrags)

requests.request(‘DELETE‘, url, **kwrags)

requests.request(‘OPTIONS‘, url, **kwrags)

**kwargs详解:

kv = {‘key1‘: ‘value1‘, ‘key2‘ : ‘value2‘} #params

r= requests.request(‘POST‘, ‘http://python123.io/ws‘, data =kv)

data1= ‘hellowrld‘                #datar= requests.request(‘POST‘, ‘http://python123.io/ws‘, data = data1)

jso = {‘key1‘: ‘value1‘}             #json

r = requests.request(‘POST‘,‘http://python123.io/ws‘, json = jso)

hd = {‘key1‘: ‘value1‘}              #headers

r = requests.request(‘POST‘,‘http://python123.io/ws‘, headers = hd)

fs = {‘file‘ : open(‘data.xls‘,‘rb‘)}      #files

r = requests.request(‘POST‘,‘http://python123.io/ws‘, files =fs)#timeout

r = requests.request(‘POST‘,‘http://python123.io/ws‘, timeout = 10)#proxies

pxs = {‘http‘: ‘http://usr:pass@10.10.10:1234‘,‘https‘ : ‘https://10.10.10.1:4321‘}

r= requests.request(‘GET‘,‘http://www.baidu.com‘, proxies = pxs)

3.2.6 delete方法

3.2.7 patch方法

3.3PATCH和PUT的区别

.

4.requests库的异常

本文是通过整合慕课网上的资料和网上相关资料完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/446115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux内核 crypto文件夹 密码学知识学习

密码算法分类 对称算法非对称算法消息摘要(单向哈希)算法这些算法作为加密函数框架的最底层,提供加密和解密的实际操作。这些函数可以在内核crypto文件夹下,相应的文件中找到。不过内核模块不能直接调用这些函数,因为…

python随机出100道加法题_自动出题随机100题-20以内加减法全部算式

班 级:姓 名:12-819-411-1114-1018-111417-261215-113-417-819-1914-341516-31269619-161159312817-014-1414-1112-501414-017-616-111-012-211520-711113051019-1810619-691118-1220-519-818018114-1416-712-1015-1319-916-714-920-717-118-1611-815-416-1014-919-416-1413-…

Linux crypto相关知识的汇总 Linux加密框架crypto中的算法和算法模式(一)

Linux加密框架中的算法和算法模式 Linux加密框架中的算法和算法模式(一)_家有一希的博客-CSDN博客 加密框架支持的密码算法主要是对称密码算法和哈希算法,暂时不支持非对称密码算法。除密码算法外,加密框架还包括伪随机数生成算法…

python3.5.2安装pygame_【闲来无事,py写game】Mac-Python3.5安装pygame 1.9.2 小计

13正文之前没错,我就是这么不学无术,C实在学的鸡儿疼,所以干脆搞点娱乐措施,昨天赶上了京东图书做大活动,所以屯了一批书,好久没碰python了。所以就整本玩玩!今天这不就上手了么!自己…

Linux crypto相关知识的汇总 Linux加密框架crypto对称算法和哈希算法加密模式

参考链接 Linux加密框架中的算法和算法模式(二)_家有一希的博客-CSDN博客 对称算法 分组算法模式 ECB模式 ECB模式下,明文数据被分为大小合适的分组,然后对每个分组独立进行加密或解密如下图所示如果两个明文块相同&#xff0c…

物化视图和视图的最大区别_基于catalyst的物化视图改写引擎的实现

更新日志:1. 2020/06/16 group by 视图的部分描述错误,已修正。什么是物化视图我先用我的话解释一下什么是物化视图。假设我们已经有A,B两张表,现在我创建了一张表C,C是由A,B两张表经过一条SQL处理得到的,这个时候我们…

Linux加密框架中的算法和算法模式

参考链接 Linux加密框架中的算法和算法模式(三)_家有一希的博客-CSDN博客 对称算法 14 如上所示,在arc4.c中定义了两个与RC4算法相关的算法实现,分别为arc4和ecb(arc4),其中arc4是RC算法的算法实现,而ecb…

python学籍管理系统 flask_taskday05-Python之flask学习 web开发最基本的需要(特别详细且适用)...

1.首先一个Flask的Web项目的创建需求一(文章概述):一:必须实现命令工具管理App,用于在命令行输入命令对项目进行管理,对后期多多益善二:必须实现“蓝图”管理,用于将app启动函数与路由分开管理,…

Linux加密框架crypto AES代码相关

例子 aes_generic.c - crypto/aes_generic.c - Linux source code (v5.15.11) - Bootlin static struct crypto_alg aes_alg {.cra_name "aes",.cra_driver_name "aes-generic",.cra_priority 100,.cra_flags CRYPTO_ALG_TYPE_CIPHER,.cra_blocks…

python语言print函数_Python 的 print 函数

Python 2.x 系列已经停止维护了, python 3.x 系列正在成为主流,尽管有些项目还是python2.x 的,之后写Python 代码为了保持兼容性,还是尽量和Python 3 标准保持一致作为一个Python newbee 而言, python 2.x 和 3.x 的 …

Linux加密框架crypto crypto_alg|cipher_alg数据结构|AES例子

加密框架将算法的属性抽象为算法说明数据结构struct crypto_alg,加密框架中的每一个算法(基础算法和衍生算法)都表示为一个算法说明数据结构的实例,因此将struct crypto_alg称为通用算法说明数据结构。后续章节中如无特殊说明&…

python如何运用ols_使用OLS回归(Python,StatsModels,Pandas)预测未来值

我目前正试图在Python中实现一个MLR,我不知道如何去应用我发现的未来值的系数。使用OLS回归(Python,StatsModels,Pandas)预测未来值import pandas as pdimport statsmodels.formula.api as smimport statsmodels.api as sm2TV [230.1, 44.5,…

Linux加密框架 crypto RC4

参考链接 arc4.h Linux加密框架中的主要数据结构(一)_家有一希的博客-CSDN博客 头文件 arc4.h - include/crypto/arc4.h - Linux source code (v5.15.11) - Bootlin实现代码 arc4.c arc4.c - crypto/arc4.c - Linux source code (v5.15.11) - Bootlin…

python读txt转array_python将txt文件读入为np.array的方法

原文件:7.8094,1.0804,5.7632,0.012269,0.008994,-0.003469,-0.79279,-0.064686,0.11635,0.68827,5.7169,7.9329,0.010264,0.003557,-0.011691,-0.57559,-0.56121,原文件数据比较多,是一个125行,45类float数字。代码:# -*- coding…

Linux加密框架 crypto 哈希算法说明 同步哈希shash_alg | 异步哈希 ahash_alg | 通用部分抽象 hash_alg_common

参考链接 Linux加密框架中的主要数据结构(二)_家有一希的博客-CSDN博客 定义 通用算法说明数据结构crypto_alg的联合体成员变量cra_u中包含多种算法的个性化属性,如分组算法、块加密算法、压缩算法、伪随机数算法等,但不包含哈希…

python 列表间隔取值_python list数据等间隔抽取并新建list存储的例子

原始数据如下:[e3cd, e547, e63d, 0ffd, e39b, e539, e5be, 0dd2, e3d6, e52e, e5f8, 0000, e404, e52b, e63d, 0312, e38b]将其分割为4路数据,分别存储在fetal1、fetal2、mother1、ECG的列表中,各列表对齐,不能整除于4的数据舍去…

Linux加密框架 crypto 哈希算法举例 MD5

参考链接 Linux加密框架 crypto 哈希算法说明 同步哈希shash_alg | 异步哈希 ahash_alg | 通用部分抽象 hash_alg_common_CHYabc123456hh的博客-CSDN博客Linux加密框架中的主要数据结构(二)_家有一希的博客-CSDN博客 MD5 md5.h - include/crypto/md5.h …

事务没提交的数据查的出来吗?_“金三银四”面试官:说说事务的ACID,什么是脏读、幻读?...

一、事务事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。--摘自百科在MySQL里,事务是在引擎层面实现,比如MyIsam不支持,InnoDB支持面试清单(Java岗):JavaJVM数…

Linux加密框架 crypto 算法模板

参考链接 Linux加密框架中的主要数据结构(三)_家有一希的博客-CSDN博客algapi.h - include/crypto/algapi.h - Linux source code (v5.15.11) - Bootlin 定义 struct crypto_template {struct list_head list;struct hlist_head instances;struct modu…

python找最长的字符串_为Python找到最长重复字符串的有效方法(从Pearls编程)

我的解决方案是基于后缀数组。它是由最长公共前缀的两倍前缀构成的。最坏情况下的复杂度是O(n(logn)^2)。任务”伊利亚特.mb.txt“在我的笔记本上花了4秒钟。代码在函数suffix_array和longest_common_substring中有很好的文档记录。后一个函数很短,可以很容易地修改…