Day19总结-2019/08/15

一、http

python中有一个第三方库叫'requests'中提供了所有和http请求相关的函数。

1.get请求

get(url, params=None) - 发送请求,获取服务器返回的响应。

url - 请求地址
params - 请求参数,字典

方法一:(既适用于get也适用于post)

url = 'https://www.baidu.com/'
params = {'tn': '21002492_21_hao_pg'}
response = requests.get(url, params)
print(response)

方法二:只适用于get请求 - 参数写到url后面

url = 'https://www.baidu.com/?tn=21002492_21_hao_pg'
response = requests.get(url)
print(response)

2.获取请求结果

1)响应头

print(response.headers)

2)响应体(数据)
a.获取二进制对应的原数据

content = response.content
print(type(content))

b.获取字符串类型的数据

text = response.text
print(type(text))

c.获取json数据(json转换成python对应的数据)

json = response.json()
print(type(json))

二、多线程

1.线程基础

每个进程中默认都有一条线程,这个线程叫主线程。其他线程叫子线程。
threading模块中Thread的对象就是线程对象,当程序中需要子线程就创建Thread类的对象。
1.创建对象
Thread(target=None, args=()) - 创建并且返回一个子线程对象
target - 函数类型(function),在线程启动的时候这个函数会在子线程中执行
args - 元组,元组中的元素就是target对应的函数在子线程中调用的时候传的实参

t1 = threading.Thread(target=download, args=('魔童降世',))

2.启动线程
线程对象.start() - 让线程去执行线程中的任务
target(*args)

2.多线程二

程序结束:
线程中的任务执行完成线程就结束;程序出现异常结束的是线程,不是进程。
进程中的所有线程都结束进程才结束。
声明多线程类
1.声明一个类继承Thread
2.实现类中的run方法,这个方法中的代码就是需要在子线程中执行的代码
3.需要子线程的时候就创建自己声明的类的对象,并且不需要任何参数

3.join的用法

线程对象.join() - 当前线程对象任务执行完成后才能去执行后面的代码。

你可能感兴趣的:(Day19总结-2019/08/15)