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基础教程之五种数据类型详解
Jan 12 Python
python re模块findall()函数实例解析
Jan 19 Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 Python
python lxml中etree的简单应用
May 10 Python
Python何时应该使用Lambda函数
Jul 02 Python
python opencv实现证件照换底功能
Aug 19 Python
Python 继承,重写,super()调用父类方法操作示例
Sep 29 Python
在Django中自定义filter并在template中的使用详解
May 19 Python
django前端页面下拉选择框默认值设置方式
Aug 09 Python
PyTorch dropout设置训练和测试模式的实现
May 27 Python
python装饰器代码解析
Mar 23 Python
python在package下继续嵌套一个package
Apr 14 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
用函数读出数据表内容放入二维数组
2006/10/09 PHP
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
php实现复制移动文件的方法
2015/07/29 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
php实现阳历阴历互转的方法
2015/10/28 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
2013/05/07 Javascript
纯js简单日历实现代码
2013/10/05 Javascript
JavaScript中数据结构与算法(四):串(BF)
2015/06/19 Javascript
浅析jQuery中使用$所引发的问题
2016/05/29 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
详解React服务端渲染从入门到精通
2019/03/28 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
python dict remove数组删除(del,pop)
2013/03/24 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
css3编写浏览器背景渐变背景色的方法
2018/03/05 HTML / CSS
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
环保专业大学生职业规划设计
2014/01/10 职场文书
高二化学教学反思
2014/01/30 职场文书
文明餐桌活动方案
2014/02/11 职场文书
保护环境建议书100字
2014/05/13 职场文书
自主招生推荐信怎么写
2015/03/26 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript
windows11怎么查看自己安装的版本号? win11版本号的查看方法
2021/11/21 数码科技
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
2022/06/14 MySQL