python爬虫 基于requests模块的get请求实现详解


Posted in Python onAugust 20, 2019

需求:爬取搜狗首页的页面数据

import requests
# 1.指定url
url = 'https://www.sogou.com/'
# 2.发起get请求:get方法会返回请求成功的响应对象
response = requests.get(url=url)
# 3.获取响应中的数据:text属性作用是可以获取响应对象中字符串形式的页面数据
page_data = response.text
# 4.持久化数据
with open("sougou.html","w",encoding="utf-8") as f:
  f.write(page_data)
  f.close()
print("ok")

requests模块如何处理携带参数的get请求,返回携带参数的请求

需求:指定一个词条,获取搜狗搜索结果所对应的页面数据

之前urllib模块处理url上参数有中文的需要处理编码,requests会自动处理url编码

发起带参数的get请求

params可以是传字典或者列表

def get(url, params=None, **kwargs):
  r"""Sends a GET request.
  :param url: URL for the new :class:`Request` object.
  :param params: (optional) Dictionary, list of tuples or bytes to send
    in the body of the :class:`Request`.
  :param \*\*kwargs: Optional arguments that ``request`` takes.
  :return: :class:`Response <Response>` object
  :rtype: requests.Response
import requests
# 指定url
url = 'https://www.sogou.com/web'
# 封装get请求参数
prams = {
  'query':'周杰伦',
  'ie':'utf-8'
}
response = requests.get(url=url,params=prams)
page_text = response.text
with open("周杰伦.html","w",encoding="utf-8") as f:
  f.write(page_text)
  f.close()
print("ok")

利用requests模块自定义请求头信息,并且发起带参数的get请求

get方法有个headers参数 把请求头信息的字典赋给headers参数

import requests
# 指定url
url = 'https://www.sogou.com/web'
# 封装get请求参数
prams = {
  'query':'周杰伦',
  'ie':'utf-8'
}
# 自定义请求头信息
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/537.36',
  }
response = requests.get(url=url,params=prams,headers=headers)
page_text = response.text
with open("周杰伦.html","w",encoding="utf-8") as f:
  f.write(page_text)
  f.close()
print("ok")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的is和==比较两个对象的两种方法
Sep 06 Python
Python3 实现随机生成一组不重复数并按行写入文件
Apr 09 Python
Python3实现的字典、列表和json对象互转功能示例
May 22 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
Jun 27 Python
Python中的相关分析correlation analysis的实现
Aug 29 Python
Django获取应用下的所有models的例子
Aug 30 Python
python3实现绘制二维点图
Dec 04 Python
Django集成celery发送异步邮件实例
Dec 17 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
Feb 18 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
Python如何使用paramiko模块连接linux
Mar 18 Python
使用pyecharts1.7进行简单的可视化大全
May 17 Python
python爬虫 urllib模块url编码处理详解
Aug 20 #Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
Aug 20 #Python
python web框架 django wsgi原理解析
Aug 20 #Python
opencv转换颜色空间更改图片背景
Aug 20 #Python
pytorch 预训练层的使用方法
Aug 20 #Python
python爬虫 urllib模块反爬虫机制UA详解
Aug 20 #Python
Pytorch 抽取vgg各层并进行定制化处理的方法
Aug 20 #Python
You might like
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
2013/06/21 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
vue axios整合使用全攻略
2018/05/24 Javascript
微信小程序实现红包雨功能
2018/07/11 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
2018/08/18 Javascript
layui框架table 数据表格的方法级渲染详解
2018/08/19 Javascript
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
Vue脚手架编写试卷页面功能
2020/03/17 Javascript
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
[20:30]职业巡回赛回顾
2018/08/09 DOTA
netbeans7安装python插件的方法图解
2013/12/24 Python
python处理按钮消息的实例详解
2017/07/11 Python
python使用turtle库与random库绘制雪花
2018/06/22 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
对python中的os.getpid()和os.fork()函数详解
2019/08/08 Python
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
使用canvas压缩图片上传的方法示例
2020/02/07 HTML / CSS
艺术用品:Arteza
2018/11/25 全球购物
医院护士求职自荐信格式
2013/09/21 职场文书
经典优秀个人求职信分享
2013/12/12 职场文书
网络书店创业计划书
2014/02/07 职场文书
2014年消防工作实施方案
2014/02/20 职场文书
坚定理想信念心得体会
2014/03/11 职场文书
2015年新农合工作总结
2015/03/30 职场文书
客服专员岗位职责范本
2015/04/07 职场文书
2015年司法局工作总结
2015/05/22 职场文书
小学英语听课心得体会
2016/01/14 职场文书
Python中request的基本使用解决乱码问题
2022/04/12 Python