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 相关文章推荐
haskell实现多线程服务器实例代码
Nov 26 Python
Python greenlet实现原理和使用示例
Sep 24 Python
代码分析Python地图坐标转换
Feb 08 Python
python计算日期之间的放假日期
Jun 05 Python
python基于socket实现的UDP及TCP通讯功能示例
Nov 01 Python
Python实现中值滤波去噪方式
Dec 18 Python
Tensorflow 多线程设置方式
Feb 06 Python
django 获取字段最大值,最新的记录操作
Aug 09 Python
Python selenium环境搭建实现过程解析
Sep 08 Python
详解python算法常用技巧与内置库
Oct 17 Python
Python应用自动化部署工具Fabric原理及使用解析
Nov 30 Python
python 详解turtle画爱心代码
Feb 15 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命令行使用方法和命令行参数说明
2014/04/08 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
JQuery 选择器、过滤器介绍
2011/02/14 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
script的async属性以非阻塞的模式加载脚本
2013/01/15 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
2013/09/27 Javascript
js中array的sort()方法使用介绍
2014/02/20 Javascript
ajax+jQuery实现级联显示地址的方法
2015/05/06 Javascript
JavaScript实现的多个图片广告交替显示效果代码
2015/09/04 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
vue打包后显示空白正确处理方法
2017/11/01 Javascript
小程序实现带年月选取效果的日历
2018/06/27 Javascript
使用JS获取页面上的所有标签
2018/10/18 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
python实现可将字符转换成大写的tcp服务器实例
2015/04/29 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
军人违纪检讨书
2014/02/04 职场文书
内衣营销方案
2014/03/15 职场文书
终止劳动合同协议书
2014/04/14 职场文书
实习单位评语
2014/04/26 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
合同范本之电脑出租
2019/08/13 职场文书
MySQL创建管理RANGE分区
2022/04/13 MySQL