爬虫Urllib库,Requests库

  1. 什么是Urllib?
Python内置的HTTP请求库。
urllib.request   请求模块
urllib.error	异常处理模块
urllib.parse	url解析模块
urllib.robotparser  robots.txt 解析模块
  1. 什么是Requests库
Requests库是用Python语言编写,基于urllib,比urllib更加方便,可以节约大量工作,满足HTTP测试需求。
  1. Requests库官方文档地址
    http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
  2. 各种请求方式
// get 请求传参使用params字段  post等传参使用 data请求体
// headers 字段设置请求头信息
// timeout 设置超时时间
/ /cookies 发送你的cookies到服务器
import requests
data={'name':'电音之王'}
headers = {'user-agent': 'my-app/0.0.1'}
cookies = dict(cookies_are='working')
response = requests.get('http://www.baidu.com',params=data, headers=headers,timeout=2,cookies=cookies)
requests.post('http://www.baidu.com',data=data)
requests.put('http://www.baidu.com',data=data)
requests.delete('http://www.baidu.com')
requests.head('http://www.baidu.com')
  1. 响应结果处理
print(response.status_code) #响应状态码
print(response.encoding) #使用的文本编码,可通过赋值进行改变 response.encoding = 'ISO-8859-1'
print(response.content) #二进制数据可使用response.content中
response.json()  #解析响应json数据
print(response.cookies) #获取浏览器cookies

6.请求保持会话,提供cookies持久化

//每次发起requests请求,相当于重新打开一个浏览器进行请求,也就是cookie无法共享
//要实现cookie共享,可以使用Session类,来进行。相当于在同一浏览器下发起请求
import requests
s = requests.Session()
s.get('http://wwww.baidu.com')
s.get('http://www.baidu.com/get/cookies)

7.不同模式打开文件的完全列表:

模式 描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

猜你喜欢

转载自blog.csdn.net/qq_39027055/article/details/82999340