python面向对象编程和requests的使用

一、python面向对象编程

1.变量

        (1)定义:关联一个对象的标识符

        (2)命名:必须是字母或下划线开头,后跟字母、数据、下划线

        (3)语法:变量名 = 数据

2.删除语句

        (1)语法:del 变量名

        (2)作用:删除变量,释放内存

        当对象没有绑定变量的时候,会自动被销毁。

3.语句

        (1)if-else:

                if 条件1:

                        语句块1

                elif  条件2:

                        语句块2

                else :

                        语句块3

        (2)while:

                while 条件:

                        do something.

        (3)for:

                for 变量列表 in 可迭代对象:

                        语句块

        (4)range函数

                语法:range(开始点,结束点,间隔)

                返回的数字不包含结束点;开始点默认为0;间隔默认为1;

        (5)break

        (6)continue

4.运算符

        (1)基础运算符

                + 、 += 、 * 、*= 、 <<= 、 >>= 、 == 、 != 

        (2)成员运算符

                数据 in 序列 、 数据 not in 序列

5.切片slice

        (1)语法: 容器[开始索引 : 结束索引: 步长]

        (2)说i名: 不包含结束索引;补偿是每次获取完的偏移量;都可以省略;

6.深拷贝和浅拷贝

        深拷贝:复制整个依赖的变量;

        浅拷贝:复制过程中,只复制一层变量,不会复制深层变量绑定的对象的复制过程。

7.列表与字符串的转化

        (1)列表转字符串

                result = "连接符".join(列表)

        (2)字符串转列表

                列表 = “a-b-c-d”.split("分隔符")

8.函数

        (1)语法

                def 函数名(形式参数):

                        函数体

        (2)返回值

                return 后没有语句,相当于返回None;没有return,相当于返回None.
9.面向对象

        (1)思想:世界上的每个人或事务都能看成一个对象,每个对象都有自己的属性和行为,对象与对象之 间通过方法来交互。面向对象是一种以“对象为中心的编程思想,把要解决的问题分解成各个对象,建 立对象的目的不是为了完成一个步骤,而是为了描叙某个对象在整个解决问题的步骤中的属性和行为.

        (2)类

                构成: 类名、类的属性、类的方法

                代码:

                        class student(object):

                                def __init__(self):

                                        self.number = 123123

                                def learn(self):

                                        pass

                        

                        if __name__ == '__main__':

                                s = student()

                                s.learn()

二、requests的使用

安装方法 : pip/pip3 install requests

1.发送get请求

import requests

url = "https://www.baidu.com"
resp = requests.get(url)
print(resp.text)

2.responce 响应对象

import requests

url = "https://www.baidu.com"
resp = requests.get(url)
# print(resp.text)
print(resp.content.decode())

通过responce.content.decode("utf-8")来解决中文乱码问题,默认为utf-8;

3.responce的其他方法

response.url 响应的 url ;有时候响应的 url 和请求的 url 并不一致
response.status_code 响应状态码
response.request.headers 响应对应的请求头
response.headers 响应头
response.request._cookies 响应对应请求的 cookie ;返回 cookieJar 类型
response.cookies 响应的 cookie (经过了 set-cookie 动作;返回 cookieJar 类型
response.json() 自动将 json 字符串类型的响应内容转换为 python 对象( dict or list
import requests 
# 发送请求,获取response响应 
response = requests.get("http://www.baidu.com") 

# 查看响应内容,response.text 返回的是str类型 
print(response.text) 

# 查看响应内容,response.content返回的字节流数据 
print(respones.content) 

# 查看响应的url地址 
print(response.url) 

# 查看响应头部字符编码 
print(response.encoding) 

# 查看响应状态码 
print(response.status_code)

4.发送带header的请求

import requests 
url = 'https://www.baidu.com' 
response = requests.get(url) 
print(response.content.decode()) # 源码内容获取不完整 
# 打印响应对应请求的请求头信息
print(response.request.headers) 
# --------------------------分割线----------------------------------------- 
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"} 
# 在请求头中带上User-Agent,模拟浏览器发送请求 
response1 = requests.get(url, headers=headers) 
print(response1.content.decode()) # 源码获取完整 
# 打印请求头信息 
print(response1.request.headers)
结论: headers 的作用:模拟浏览器,欺骗服务器,获取和浏览器一致的内容

5.发送带参数的请求

        (1)url中带参数

import requests 
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"} 
# url中带有参数
url = 'https://www.baidu.com/s?wd=python' 
response = requests.get(url, headers=headers) 
print(response.content.decode())

        (2)通过params系带参数字典

import requests 

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"} 

# 这是目标url 
# url = 'https://www.baidu.com/s?wd=python' 
# 最后有没有问号结果都一样 
url = 'https://www.baidu.com/s?'

# 请求参数是一个字典 即wd=python 
kw = {'wd': 'python'} 

# 带上请求参数发起请求,获取响应 
response = requests.get(url, headers=headers, params=kw) 

print(response.content.decode())

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值