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 MD5文件生成码
Jan 12 Python
Python sys.path详细介绍
Oct 17 Python
python的Template使用指南
Sep 11 Python
python使用opencv按一定间隔截取视频帧
Mar 06 Python
TensorFlow实现AutoEncoder自编码器
Mar 09 Python
python3实现SMTP发送邮件详细教程
Jun 19 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
Jul 11 Python
Python实现正则表达式匹配任意的邮箱方法
Dec 20 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
Feb 17 Python
python对验证码降噪的实现示例代码
Nov 12 Python
Python3 中sorted() 函数的用法
Mar 24 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
Jul 27 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下网站防IP攻击代码,超级实用
2010/10/24 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
简单的PHP缓存设计实现代码
2011/09/30 PHP
PHP中shuffle数组值随便排序函数用法
2014/11/21 PHP
php遍历目录方法小结
2015/03/10 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
2012/03/21 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
JavaScript字符串检索字符的方法
2017/06/23 Javascript
Angular模板表单校验方法详解
2017/08/11 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
详解react-router4 异步加载路由两种方法
2017/09/12 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
2018/12/10 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
Node.js开发之套接字(socket)编程入门示例
2019/11/05 Javascript
详解Python多线程Selenium跨浏览器测试
2017/04/01 Python
Python合并多个Excel数据的方法
2018/07/16 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
2021/01/22 Python
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
Nike荷兰官方网站:Nike.com (NL)
2018/04/19 全球购物
Fnac西班牙官网:法国文化和电子产品零售商
2021/03/14 全球购物
Java面向对象面试题
2016/12/26 面试题
IBatis持久层技术
2016/07/18 面试题
护理学应聘自荐书范文
2014/02/05 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
Python使用openpyxl模块处理Excel文件
2022/06/05 Python