python爬虫 基于requests模块的get请求实现详解

 更新时间:2019年08月20日 10:06:58   作者:minger_lcm  
这篇文章主要介绍了python爬虫 基于requests模块的get请求实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

需求:爬取搜狗首页的页面数据

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")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 装上这 14 个插件后,PyCharm 真的是无敌的存在

    装上这 14 个插件后,PyCharm 真的是无敌的存在

    这篇文章主要介绍了装上这 14 个插件后,PyCharm 真的是无敌的存在,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 深入理解python 生成器、迭代器、动态新增属性及方法

    深入理解python 生成器、迭代器、动态新增属性及方法

    这篇文章主要介绍了python 生成器、迭代器、动态新增属性及方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Python使用socket的UDP协议实现FTP文件服务功能

    Python使用socket的UDP协议实现FTP文件服务功能

    这篇文章主要介绍了Python使用socket的UDP协议实现FTP文件服务,本示例主要是用Python的socket,使用UDP协议实现一个FTP服务端、FTP客户端,用来实现文件的传输,需要的朋友可以参考下
    2023-10-10
  • 利用Python如何实现数据驱动的接口自动化测试

    利用Python如何实现数据驱动的接口自动化测试

    这篇文章主要给大家介绍了关于利用Python如何实现数据驱动的接口自动化测试的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们来一起看看吧
    2018-05-05
  • Python做个自定义动态壁纸还可以放视频

    Python做个自定义动态壁纸还可以放视频

    这篇文章主要介绍了如何用Python做个可以放视频自定义动态壁纸,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • python中如何使用insert函数

    python中如何使用insert函数

    这篇文章主要介绍了python中如何使用insert函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • python 获取当前目录下的文件目录和文件名实例代码详解

    python 获取当前目录下的文件目录和文件名实例代码详解

    这篇文章主要介绍了python 获取当前目录下的文件目录和文件名实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • python计算机视觉opencv图像金字塔轮廓及模板匹配

    python计算机视觉opencv图像金字塔轮廓及模板匹配

    这篇文章主要为大家介绍了python计算机视觉opencv图像金字塔图像轮廓及模板匹配的学习讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • 基于opencv实现手势控制音量(案例详解)

    基于opencv实现手势控制音量(案例详解)

    这篇文章主要介绍了基于opencv的手势控制音量和ai换脸,通过定义了一个名为 handDetector 的类,用于检测和跟踪手部,结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • python3获取当前文件的上一级目录实例

    python3获取当前文件的上一级目录实例

    下面小编就为大家分享一篇python3获取当前文件的上一级目录实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04

最新评论