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 14 Python
python数据类型_元组、字典常用操作方法(介绍)
May 30 Python
python中利用Future对象回调别的函数示例代码
Sep 07 Python
使用python进行拆分大文件的方法
Dec 10 Python
详解python中的生成器、迭代器、闭包、装饰器
Aug 22 Python
Python爬取知乎图片代码实现解析
Sep 17 Python
Python-opencv 双线性插值实例
Jan 17 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
May 15 Python
Python使用jpype模块调用jar包过程解析
Jul 29 Python
Python获取excel内容及相关操作代码实例
Aug 10 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
Dec 10 Python
浅谈Python数学建模之数据导入
Jun 23 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
二次元帅气男生排行榜,只想悄悄收藏系列
2020/03/04 日漫
php $_SERVER当前完整url的写法
2009/11/12 PHP
PHP输出时间差函数代码
2013/01/28 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
Yii不依赖Model的表单生成器用法实例
2014/12/04 PHP
php控制文件下载速度的方法
2015/03/24 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
jquery checkbox全选、取消全选实现代码
2010/03/05 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
2012/08/17 Javascript
JavaScript控制Session操作方法
2013/01/17 Javascript
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
vue-router 中router-view不能渲染的解决方法
2017/05/23 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
浅谈Three.js截图并下载的大坑
2019/11/01 Javascript
编写v-for循环的技巧汇总
2020/12/01 Javascript
学习python (1)
2006/10/31 Python
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
python中dict使用方法详解
2019/07/17 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
Python 实现集合Set的示例
2020/12/21 Python
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
英国足球店:UK Soccer Shop
2017/11/19 全球购物
服装采购员岗位职责
2014/03/15 职场文书
小学语文教研活动总结
2014/07/01 职场文书
2014年学校工会工作总结
2014/12/06 职场文书
高三数学教学反思
2016/02/18 职场文书
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技