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 相关文章推荐
使用cx_freeze把python打包exe示例
Jan 24 Python
Python升级导致yum、pip报错的解决方法
Sep 06 Python
Python基于回溯法子集树模板解决选排问题示例
Sep 07 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
Nov 29 Python
ubuntu安装mysql pycharm sublime
Feb 20 Python
浅谈dataframe中更改列属性的方法
Jul 10 Python
django如何连接已存在数据的数据库
Aug 14 Python
python实现视频分帧效果
May 31 Python
基于python进行抽样分布描述及实践详解
Sep 02 Python
python KNN算法实现鸢尾花数据集分类
Oct 24 Python
python文件读取失败怎么处理
Jun 23 Python
5个pandas调用函数的方法让数据处理更加灵活自如
Apr 24 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
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
PHP4引用文件语句的对比
2006/10/09 PHP
也谈截取首页新闻 - 范例
2006/10/09 PHP
php 远程图片保存到本地的函数类
2008/12/08 PHP
彻底杜绝PHP的session cookie错误
2009/08/09 PHP
PHP重定向的3种方式
2013/03/07 PHP
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
2018/09/29 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
零基础php编程好学吗
2019/10/11 PHP
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
js中利用tagname和id获取元素的方法
2016/01/03 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
js倒计时显示实例
2016/12/11 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
2017/11/06 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
在Python3中初学者应会的一些基本的提升效率的小技巧
2015/03/31 Python
windows10系统中安装python3.x+scrapy教程
2016/11/08 Python
Python调用微信公众平台接口操作示例
2017/07/08 Python
Python正确重载运算符的方法示例详解
2017/08/27 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
解决Python网页爬虫之中文乱码问题
2018/05/11 Python
python 数据类型强制转换的总结
2021/01/25 Python
用Python制作音乐海报
2021/01/26 Python
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
会计专业毕业生求职信分享
2014/01/03 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
单身证明范本
2015/06/15 职场文书