追梦路上前行

requests模块

什么是requests模块
    - python原生一个基于网络请求的模块,模拟浏览器发起请求。
为什么要使用requests模块
    - 1.自动处理url编码 
    - 2.自动处理post请求的参数
    - 3.简化cookie的代理的操作:
        cookie操作:
        - 创建一个cookiejar对象
        - 创建一个handler对象
        - 创建一个operner

        代理操作:
        - 创建handler对象,代理ip和端口封装到该对象
        - 创建openner对象
requests如何被使用
    - 安装:pip install  requests
    - 使用流程:
        - 1.指定url
        - 2.使用requests模块发起请求
        - 3.获取响应数据
        - 4.进行持久化存储

基于requests模块发起get请求

爬取百度首页的页面数据

import requests
#指定url
url = 'https://www.baidu.com/'

#发起get请求:get方法会返回请求成功的相应对象
response = requests.get(url=url)

#获取响应中的数据值:text可以获取响应对象中字符串形式的页面数据
page_data = response.text

print(page_data)

#持久化操作
with open('./baidu.html','w',encoding='utf-8') as fp:
fp.write(page_data)

基于requests模块发起的post请求

登录豆瓣网,获取登录成功后的页面数据

import requests

#1.指定post请求的url
url = 'https://accounts.douban.com/login'

#封装post请求的参数
data = {
"source": "movie",
"redir": "https://movie.douban.com/",
"form_email": "xxx@qq.com",
"form_password": "xxx",
"login": "登录",
}
#自定义请求头信息
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/837.36',
}
#2.发起post请求
response = requests.post(url=url,data=data,headers=headers)

#3.获取响应对象中的页面数据
page_text = response.text

#4.持久化操作
with open('./douban.html','w',encoding='utf-8') as fp:
fp.write(page_text)



posted on 2018-12-11 10:28  hello1230  阅读(100)  评论(0)    收藏  举报

导航