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之引用和类属性的初步理解
May 15 Python
深入分析在Python模块顶层运行的代码引起的一个Bug
Jul 04 Python
利用Fn.py库在Python中进行函数式编程
Apr 22 Python
在Python中使用PIL模块处理图像的教程
Apr 29 Python
python实现闹钟定时播放音乐功能
Jan 25 Python
Python中装饰器学习总结
Feb 10 Python
把django中admin后台界面的英文修改为中文显示的方法
Jul 26 Python
扩展Django admin的list_filter()可使用范围方法
Aug 21 Python
Tensorflow中tf.ConfigProto()的用法详解
Feb 06 Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 Python
详解java调用python的几种用法(看这篇就够了)
Dec 10 Python
python 爬取华为应用市场评论
May 29 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 Smarty date_format [格式化时间日期]
2010/03/15 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
thinkphp分页实现效果
2016/10/13 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
ZendFramework框架实现连接两个或多个数据库的方法
2016/12/08 PHP
PHP 配置后台登录以及模板引入
2017/01/24 PHP
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
推荐11款jQuery开发的复选框和单选框美化插件
2011/08/02 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
javascript实现网页端解压并查看zip文件
2015/12/15 Javascript
scroll事件实现监控滚动条并分页显示(zepto.js)
2016/12/18 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
使用layui 渲染table数据表格的实例代码
2018/08/19 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
Python聊天室实例程序分享
2016/01/05 Python
Python 2与Python 3版本和编码的对比
2017/02/14 Python
手把手教你python实现SVM算法
2017/12/27 Python
详解flask表单提交的两种方式
2018/07/21 Python
python中partial()基础用法说明
2018/12/30 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
2019/06/18 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
Django 响应数据response的返回源码详解
2019/08/06 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
python实现提取COCO,VOC数据集中特定的类
2020/03/10 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
Python基于class()实现面向对象原理详解
2020/03/26 Python
Python包和模块的分发详细介绍
2020/06/19 Python
Python魔术方法专题
2020/06/19 Python
ORACLE十问
2015/04/20 面试题
《水上飞机》教学反思
2014/04/10 职场文书
项目经理岗位职责范本
2015/04/01 职场文书
网络舆情信息简报
2015/07/21 职场文书
创业计划书之健康营养产业
2019/10/15 职场文书