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脚本使得web页面上的代码高亮显示
Apr 24 Python
Python找出9个连续的空闲端口
Feb 01 Python
Python 2与Python 3版本和编码的对比
Feb 14 Python
Python基于scapy实现修改IP发送请求的方法示例
Jul 08 Python
Python3实现抓取javascript动态生成的html网页功能示例
Aug 22 Python
详解Python异常处理中的Finally else的功能
Dec 29 Python
对pandas中to_dict的用法详解
Jun 05 Python
Python中时间datetime的处理与转换用法总结
Feb 18 Python
python调试神器PySnooper的使用
Jul 03 Python
Python3内置模块random随机方法小结
Jul 13 Python
Tensorflow的梯度异步更新示例
Jan 23 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
Nov 26 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代码技巧的小结
2013/06/02 PHP
yii2中使用Active Record模式的方法
2016/01/09 PHP
js 日期转换成中文格式的函数
2009/07/07 Javascript
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
Ajax搜索结果页面下方的分页按钮的生成
2012/04/05 Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
2014/01/24 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
微信小程序实现图片放大预览功能
2020/10/22 Javascript
基于jquery.page.js实现分页效果
2018/01/01 jQuery
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
js实现3D旋转相册
2020/08/02 Javascript
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
python提取log文件内容并画出图表
2019/07/08 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
2020/03/10 Python
django form和field具体方法和属性说明
2020/07/09 Python
Pandas的Apply函数具体使用
2020/07/21 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
2021/03/03 Python
一款纯css3实现的动画加载导航
2014/10/08 HTML / CSS
中专毕业生自荐信范文
2013/11/28 职场文书
英语商务邀请函范文
2014/01/16 职场文书
《都江堰》教学反思
2014/02/07 职场文书
保险专业自荐信范文
2014/02/20 职场文书
安全宣传标语
2014/06/10 职场文书
拓展训练激励口号
2014/06/17 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
一年级语文下册复习计划
2015/01/17 职场文书
《折线统计图》教学反思
2016/02/22 职场文书