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 相关文章推荐
Python3.2中Print函数用法实例详解
May 19 Python
python判断字符串是否是json格式方法分享
Nov 07 Python
解决python3爬虫无法显示中文的问题
Apr 12 Python
python3+PyQt5实现柱状图
Apr 24 Python
对python 读取线的shp文件实例详解
Dec 22 Python
python递归法解决棋盘分割问题
Jul 17 Python
django drf框架自带的路由及最简化的视图
Sep 10 Python
python装饰器代替set get方法实例
Dec 19 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
Mar 25 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
Jun 03 Python
python数字图像处理实现图像的形变与缩放
Jun 28 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制作静态网站的模板框架(三)
2006/10/09 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
2011/04/17 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
2017/05/12 PHP
javascript instanceof 与typeof使用说明
2010/01/11 Javascript
jQuery技巧总结
2011/01/01 Javascript
nodejs获取本机内网和外网ip地址的实现代码
2014/06/01 NodeJs
批量修改标签css样式以input标签为例
2014/07/31 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
2016/03/30 Javascript
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
angularjs使用directive实现分页组件的示例
2017/02/07 Javascript
javascript 秒表计时器实现代码
2017/03/09 Javascript
js canvas实现红包照片效果
2018/08/21 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
2020/08/12 Javascript
python网络编程之数据传输UDP实例分析
2015/05/20 Python
Python 常用 PEP8 编码规范详解
2017/01/22 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
微信公众号token验证失败解决方案
2019/07/22 Python
浅谈django2.0 ForeignKey参数的变化
2019/08/06 Python
深入了解Python在HDA中的应用
2019/09/05 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
中东最大的在线宠物店:Dubai Pet Food
2020/06/11 全球购物
企业为何需要商业计划书
2013/12/26 职场文书
考试作弊检讨书大全
2014/02/18 职场文书
产品包装策划方案
2014/05/18 职场文书
出国留学单位推荐信
2015/03/26 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python