假期小结7爬虫学习requests
这周我初步学习了py爬虫的相关知识,以下是我的部分总结
URL headers(URL头部)是HTTP请求中包含的一部分信息,用于描述、控制和传递请求的各种元数据。它们是位于HTTP请求消息的起始部分,用于传递与请求相关的附加信息。以下是一些常见的URL headers参数和其他参数的解释:
User-Agent(用户代理):User-Agent头部是请求中的一个参数,用于标识发送请求的客户端应用程序或浏览器的身份。服务器可以使用User-Agent来判断如何处理请求和返回适用于特定客户端的响应。
Accept(接受类型):Accept头部指定客户端可以接受的响应内容类型(如HTML、XML、JSON等)。服务器可以根据Accept头部来选择适当的响应类型。
Authorization(授权信息):Authorization头部用于在请求中提供身份验证凭证,通常用于需要访问权限的资源。这可以是基本认证(Base64编码的用户名和密码)或其他类型的令牌或密钥。
Referer(引用来源):Referer头部包含了发送当前请求的URL来源。它可以用于记录日志、追踪请求链路和防止恶意行为。有些网站可能会检查Referer来防止盗链或限制访问。
除了URL headers,还有其他一些常见的参数,如:
Query Parameters(查询参数):这些参数是通过在URL中使用问号(?)和键值对的方式传递给服务器的。例如,
http://example.com/search?q=keyword中的q=keyword即是查询参数。Path Parameters(路径参数):这些参数是通过URL路径中的占位符形式进行传递的。例如,
http://example.com/users/{id}中的id即是路径参数,可以替换为具体的值。Request Body(请求体):在某些情况下,参数可能需要以请求体的形式发送,特别是对于POST、PUT等请求。请求体可以包含多种格式的数据,如表单数据、JSON、XML等。
这些参数和头部信息可以根据具体的请求目的和服务端的要求进行设置和传递。在进行爬虫开发时,了解和正确设置这些参数和头部信息对于模拟请求并获取相应数据非常重要,同时也需要遵守网站的使用规则和服务条款,确保爬取的合法性和可靠性。
requests.get()是使用Python中的requests库发起HTTP GET请求的函数。它接受一些可选的参数,用于配置请求的各个方面。以下是requests.get()函数中一些常用的相关参数:
url(必需):要发送GET请求的目标URL。params(可选):一个字典或字符串,用于指定URL中的查询参数。例如,params={'key': 'value'}会将查询参数添加到URL中,形如http://example.com?key=value。headers(可选):一个字典,用于设置HTTP请求的头部信息,包括User-Agent、Accept等。常用于模拟特定的请求头部。timeout(可选):设定请求的超时时间,以秒为单位。如果在指定的时间内没有得到响应,将引发requests.exceptions.Timeout异常。proxies(可选):一个字典,用于设置请求的代理。可以指定HTTP或HTTPS代理,格式如{'http': 'http://proxy.example.com', 'https': 'https://proxy.example.com'}。verify(可选):指定是否验证服务器的SSL证书。默认情况下为True,会验证证书的有效性。当请求的网站使用自签名证书或无效证书时,可以将其设置为False。allow_redirects(可选):指定是否允许重定向。默认情况下为True,即允许自动处理重定向。如果设置为False,则禁止自动处理重定向。auth(可选):用于指定身份验证凭证的元组。例如,auth=('username', 'password')可用于基本身份验证。
这些参数只是requests.get()函数中的一部分,还有其他可用参数,如cookies用于发送请求时附带的cookie信息,stream用于获取响应时启用流式传输,等等。
假期小结7爬虫学习requests的更多相关文章
- Python学习---爬虫学习[requests模块]180411
模块安装 安装requests模块 pip3 install requests 安装beautifulsoup4模块 [更多参考]https://blog.csdn.net/sunhuaqiang1/ ...
- 爬虫学习--Requests库详解 Day2
什么是Requests Requests是用python语言编写,基于urllib,采用Apache2 licensed开源协议的HTTP库,它比urllib更加方便,可以节约我们大量的工作,完全满足 ...
- python爬虫学习 —— 总目录
开篇 作为一个C党,接触python之后学习了爬虫. 和AC算法题的快感类似,从网络上爬取各种数据也很有意思. 准备写一系列文章,整理一下学习历程,也给后来者提供一点便利. 我是目录 听说你叫爬虫 - ...
- python爬虫学习笔记
爬虫的分类 1.通用爬虫:通用爬虫是搜索引擎(Baidu.Google.Yahoo等)“抓取系统”的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份. 简单来讲就是尽可 ...
- python爬虫学习笔记(一)——环境配置(windows系统)
在进行python爬虫学习前,需要进行如下准备工作: python3+pip官方配置 1.Anaconda(推荐,包括python和相关库) [推荐地址:清华镜像] https://mirrors ...
- 网络请求 爬虫学习笔记 一 requsets 模块的使用 get请求和post请求初识别,代理,session 和ssl证书
前情提要: 为了养家糊口,为了爱与正义,为了世界和平, 从新学习一个爬虫技术,做一个爬虫学习博客记录 学习内容来自各大网站,网课,博客. 如果觉得食用不良,你来打我啊 requsets 个人觉得系统自 ...
- 孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块
孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块 (完整学习过程屏幕记录视频地址在文末) 从今天起开始正式学习Python的爬虫. 今天已经初步了解了两个主要的模块: ...
- python爬虫学习01--电子书爬取
python爬虫学习01--电子书爬取 1.获取网页信息 import requests #导入requests库 ''' 获取网页信息 ''' if __name__ == '__main__': ...
- python爬虫学习05-爬取图片
python爬虫学习05-爬取图片 确定要爬取的网址:https://shenan.tuchong.com/20903415/#image309854686 要爬取的内容:使用浏览器插件xpath对图 ...
- Python爬虫练习(requests模块)
Python爬虫练习(requests模块) 关注公众号"轻松学编程"了解更多. 一.使用正则表达式解析页面和提取数据 1.爬取动态数据(js格式) 爬取http://fund.e ...
随机推荐
- ASP.NET Core SignalR .NET 客户端
项目 2022/11/29 13 个参与者 反馈 通过 ASP.NET Core SignalR .NET 客户端库可以从 .NET 应用与 SignalR 中心进行通信. 查看或下载示例代码(如何下 ...
- Flutter(三):Flutter App 可行性分析
一.生态建设 第三方Package https://pub.dev/packages?sort=popularity 截止2021年4月,第三方库达到17000+ 二.Devops 代码风格检查 An ...
- 实战SQL优化(以MySQL深分页为例)
1 准备表结构 CREATE TABLE `student` ( `id` int NOT NULL AUTO_INCREMENT, `user_no` varchar(50) CHARACTER S ...
- 『手撕Vue-CLI』拉取版本号
开篇 在上一篇文章中,给 nue-cli 添加了与用户终端交互的功能,这一次来实现一个拉取版本号的功能. 这个功能的背景是,有时候我们在使用脚手架的时候,不同版本的脚手架可能会有不同的功能,所以用户有 ...
- Jenkins自动化集成
gitlab连接Jenkins 创建token后 , 现在的网页上就会出现一个token: token只出现一次,注意保存 将这个token在Jenkins上配置,现在开始配置Jenkins Jenk ...
- 记一例UIView突然不显示的排查过程
一.现象 今日在开发中遇到一个诡异问题,一个自定义的AlertView在显示之后瞬间在屏幕上消失,但是其对象在内存中依然存在 二.排查 通过lldb命令查询到view.superview.superv ...
- MQTT服务器连接不上的问题
问题描述 环境:阿里云服务器Ubuntu 22.04.3 LTS,安装mosquitto后,在虚拟机端订阅消息出现报错(以前用阿里云Ubuntu20.04 LTS的服务器装上就能用),以下服务器ip是 ...
- C++笔记(8)常规new运算符和定位new运算符
通常,new负责在堆(heap)中找到一个能够满足要求的内存块.new运算符还有一种变体,被称为定位(placement)new运算符,他能让你能够指定要使用的位置.程序员可以使用这种特性来设置其内存 ...
- 微软官方开源免费的Blazor UI组件库 - Fluent UI Blazor
前言 今天大姚给大家分享一个由微软官方开源(MIT License).免费的Blazor UI组件库:Fluent UI Blazor. 全面的ASP.NET Core Blazor简介和快速入门 F ...
- Kafka--Rebalance重平衡
Rebalance总览 Rebalance触发条件 (1)消费组成员发生变更,有新消费者加入或者离开,或者有消费者崩溃 (2)消费者组订阅的主题数量发生变更 (3)消费组订阅主题的分区数发生变更 避免 ...