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

作者:minger_lcm 时间:2021-04-24 17:38:32 

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


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

来源:https://www.cnblogs.com/mingerlcm/p/11369676.html

标签:python,爬虫,requests,模块,get,请求
0
投稿

猜你喜欢

  • Django 简单实现分页与搜索功能的示例代码

    2023-12-26 01:40:16
  • python 实现在Excel末尾增加新行

    2023-11-26 09:27:52
  • MySQL 数据编码 latin1 转 UTF8

    2010-10-14 14:20:00
  • Python实现PIL图像处理库绘制国际象棋棋盘

    2021-06-20 14:18:08
  • python logging.info在终端没输出的解决

    2022-04-15 20:39:52
  • Dreamweaver行为体验

    2007-02-03 11:39:00
  • Python使用Pillow实现图像基本变化

    2021-08-26 03:30:23
  • 保存透明gif时出现锯齿解决法

    2008-06-26 18:10:00
  • smarty模板嵌套之include与fetch性能测试

    2024-05-03 15:49:53
  • python实现每次处理一个字符的三种方法

    2023-03-07 12:27:30
  • Opencv对象追踪的示例代码

    2021-03-02 06:35:38
  • numpy实现RNN原理实现

    2023-09-21 23:47:33
  • 在ASP中使用SQL语句之3:LIKE、NOT LIKE和 BETWEEN

    2007-08-11 12:30:00
  • 手把手教你使用Python绘制时间序列图

    2021-08-04 14:32:07
  • python pycurl验证basic和digest认证的方法

    2022-12-17 23:01:15
  • 浅谈javascript中的作用域

    2024-05-11 09:31:22
  • asp查询ip地址源代码

    2009-07-27 17:51:00
  • When we`re only No.2, we try harder之淘宝节日LOGO互动设计小探讨

    2010-01-20 10:31:00
  • 用python实现学生信息管理系统

    2023-06-07 10:17:37
  • vscode检测到#include错误请更新includePath的解决方法

    2022-10-14 22:58:04
  • asp之家 网络编程 m.aspxhome.com