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程序中使用SQLAlchemy时出现乱码的解决方案
Apr 24 Python
Python for Informatics 第11章 正则表达式(一)
Apr 21 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
Python 面试中 8 个必考问题
Nov 16 Python
解决sublime+python3无法输出中文的问题
Dec 12 Python
python批量获取html内body内容的实例
Jan 02 Python
在Pycharm terminal中字体大小设置的方法
Jan 16 Python
Python进度条的制作代码实例
Aug 31 Python
Python基于jieba, wordcloud库生成中文词云
May 13 Python
python interpolate插值实例
Jul 06 Python
python获取百度热榜链接的实例方法
Aug 25 Python
python实现三种随机请求头方式
Jan 05 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判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
php通过字符串调用函数示例
2014/03/02 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
IE iframe的onload方法分析小结
2010/01/07 Javascript
js如何获取兄弟、父类等节点
2014/01/06 Javascript
js实现图片在未加载完成前显示加载中字样
2014/09/03 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
JavaScript异步加载问题总结
2018/02/17 Javascript
Vue监听事件实现计数点击依次增加的方法
2018/09/26 Javascript
js实现搜索栏效果
2018/11/16 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
Windows系统下安装Python的SSH模块教程
2015/02/05 Python
Python实现模拟登录及表单提交的方法
2015/07/25 Python
python脚本设置系统时间的两种方法
2016/02/21 Python
python 计算文件的md5值实例
2017/01/13 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
PHP面试题及答案二
2015/05/23 面试题
下列程序在32位linux或unix中的结果是什么
2015/01/26 面试题
什么是GWT的Entry Point
2013/08/16 面试题
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
社区党员先进事迹
2014/01/22 职场文书
职业生涯规划书结束语
2014/04/15 职场文书
体育教师求职信
2014/05/24 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
民事诉讼代理词
2015/05/25 职场文书
辞职离别感言
2015/08/04 职场文书