这周我初步学习了py爬虫的相关知识,以下是我的部分总结

URL headers(URL头部)是HTTP请求中包含的一部分信息,用于描述、控制和传递请求的各种元数据。它们是位于HTTP请求消息的起始部分,用于传递与请求相关的附加信息。以下是一些常见的URL headers参数和其他参数的解释:

  1. User-Agent(用户代理):User-Agent头部是请求中的一个参数,用于标识发送请求的客户端应用程序或浏览器的身份。服务器可以使用User-Agent来判断如何处理请求和返回适用于特定客户端的响应。

  2. Accept(接受类型):Accept头部指定客户端可以接受的响应内容类型(如HTML、XML、JSON等)。服务器可以根据Accept头部来选择适当的响应类型。

  3. Authorization(授权信息):Authorization头部用于在请求中提供身份验证凭证,通常用于需要访问权限的资源。这可以是基本认证(Base64编码的用户名和密码)或其他类型的令牌或密钥。

  4. Referer(引用来源):Referer头部包含了发送当前请求的URL来源。它可以用于记录日志、追踪请求链路和防止恶意行为。有些网站可能会检查Referer来防止盗链或限制访问。

除了URL headers,还有其他一些常见的参数,如:

  1. Query Parameters(查询参数):这些参数是通过在URL中使用问号(?)和键值对的方式传递给服务器的。例如,http://example.com/search?q=keyword中的q=keyword即是查询参数。

  2. Path Parameters(路径参数):这些参数是通过URL路径中的占位符形式进行传递的。例如,http://example.com/users/{id}中的id即是路径参数,可以替换为具体的值。

  3. Request Body(请求体):在某些情况下,参数可能需要以请求体的形式发送,特别是对于POST、PUT等请求。请求体可以包含多种格式的数据,如表单数据、JSON、XML等。

这些参数和头部信息可以根据具体的请求目的和服务端的要求进行设置和传递。在进行爬虫开发时,了解和正确设置这些参数和头部信息对于模拟请求并获取相应数据非常重要,同时也需要遵守网站的使用规则和服务条款,确保爬取的合法性和可靠性。

 

requests.get()是使用Python中的requests库发起HTTP GET请求的函数。它接受一些可选的参数,用于配置请求的各个方面。以下是requests.get()函数中一些常用的相关参数:

  1. url(必需):要发送GET请求的目标URL。

  2. params(可选):一个字典或字符串,用于指定URL中的查询参数。例如,params={'key': 'value'}会将查询参数添加到URL中,形如http://example.com?key=value

  3. headers(可选):一个字典,用于设置HTTP请求的头部信息,包括User-Agent、Accept等。常用于模拟特定的请求头部。

  4. timeout(可选):设定请求的超时时间,以秒为单位。如果在指定的时间内没有得到响应,将引发requests.exceptions.Timeout异常。

  5. proxies(可选):一个字典,用于设置请求的代理。可以指定HTTP或HTTPS代理,格式如{'http': 'http://proxy.example.com', 'https': 'https://proxy.example.com'}

  6. verify(可选):指定是否验证服务器的SSL证书。默认情况下为True,会验证证书的有效性。当请求的网站使用自签名证书或无效证书时,可以将其设置为False

  7. allow_redirects(可选):指定是否允许重定向。默认情况下为True,即允许自动处理重定向。如果设置为False,则禁止自动处理重定向。

  8. auth(可选):用于指定身份验证凭证的元组。例如,auth=('username', 'password')可用于基本身份验证。

这些参数只是requests.get()函数中的一部分,还有其他可用参数,如cookies用于发送请求时附带的cookie信息,stream用于获取响应时启用流式传输,等等。

假期小结7爬虫学习requests的更多相关文章

  1. Python学习---爬虫学习[requests模块]180411

    模块安装 安装requests模块 pip3 install requests 安装beautifulsoup4模块 [更多参考]https://blog.csdn.net/sunhuaqiang1/ ...

  2. 爬虫学习--Requests库详解 Day2

    什么是Requests Requests是用python语言编写,基于urllib,采用Apache2 licensed开源协议的HTTP库,它比urllib更加方便,可以节约我们大量的工作,完全满足 ...

  3. python爬虫学习 —— 总目录

    开篇 作为一个C党,接触python之后学习了爬虫. 和AC算法题的快感类似,从网络上爬取各种数据也很有意思. 准备写一系列文章,整理一下学习历程,也给后来者提供一点便利. 我是目录 听说你叫爬虫 - ...

  4. python爬虫学习笔记

    爬虫的分类 1.通用爬虫:通用爬虫是搜索引擎(Baidu.Google.Yahoo等)“抓取系统”的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份. 简单来讲就是尽可 ...

  5. python爬虫学习笔记(一)——环境配置(windows系统)

    在进行python爬虫学习前,需要进行如下准备工作: python3+pip官方配置 1.Anaconda(推荐,包括python和相关库)   [推荐地址:清华镜像] https://mirrors ...

  6. 网络请求 爬虫学习笔记 一 requsets 模块的使用 get请求和post请求初识别,代理,session 和ssl证书

    前情提要: 为了养家糊口,为了爱与正义,为了世界和平, 从新学习一个爬虫技术,做一个爬虫学习博客记录 学习内容来自各大网站,网课,博客. 如果觉得食用不良,你来打我啊 requsets 个人觉得系统自 ...

  7. 孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块

    孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块 (完整学习过程屏幕记录视频地址在文末) 从今天起开始正式学习Python的爬虫. 今天已经初步了解了两个主要的模块: ...

  8. python爬虫学习01--电子书爬取

    python爬虫学习01--电子书爬取 1.获取网页信息 import requests #导入requests库 ''' 获取网页信息 ''' if __name__ == '__main__': ...

  9. python爬虫学习05-爬取图片

    python爬虫学习05-爬取图片 确定要爬取的网址:https://shenan.tuchong.com/20903415/#image309854686 要爬取的内容:使用浏览器插件xpath对图 ...

  10. Python爬虫练习(requests模块)

    Python爬虫练习(requests模块) 关注公众号"轻松学编程"了解更多. 一.使用正则表达式解析页面和提取数据 1.爬取动态数据(js格式) 爬取http://fund.e ...

随机推荐

  1. uniapp 添加操作

    1 分析: 2 需要动态的向数据库中插入数据,既然要进行添加操作,就会触发一个点击的事件,所以我们的第一步就是要先绑定事件 3 向服务器进行请求接口操作,请求的方法为 'POST' 4 最后就是在me ...

  2. map和解构赋值的拷贝

    map遍历之后返回的数组是深拷贝,解构赋值一维的是深拷贝,二维是浅拷贝

  3. node写接受

    选择数据库类型:mongodb 定义用户集合的字段(域): 用户名  密码  性别  爱好(多选)  简介 npm i -S express mongoose 在项目中连接mongodb服务 inde ...

  4. ETL工具-nifi干货系列 第十四讲 nifi处理器QueryDatabaseTableRecord查询表数据实战教程

    1.处理器QueryDatabaseTableRecord和处理器QueryDatabaseTable比较相似,该组件生成一个 SQL 查询,或者使用用户提供的语句,并执行它以获取所有在指定的最大值列 ...

  5. P6259

    problem 考虑使用 dfs 模拟. 由于一个程序可能在不进入无限循环的情况下运行很多步,这将会非常缓慢.因此,接下来要加速模拟,可以用记忆化搜索. 在网格中,机器人的可能状态(位置和朝向)只有 ...

  6. centos7 添加极点五笔

    打开终端,输入: yum install ibus ibus-table-wubi 遇到"Is this OK",输入y回车. 完成后重启电脑. 打开"应用程序" ...

  7. EF MYSQL DB FIRST 出现2次数据库名

    环境:使用ADO设计器添加的数据库实体,运行时出现 :Table 'world.world.city' doesn't exist . world 是mysql的演示数据库. MySql.Data.E ...

  8. 可观测性平台夜莺开源项目发布V6正式版!

    夜莺开源项目在2023.7月底发布了V6版本,这个版本开始,项目目标不止于做一款开源监控系统,而是要做一款开源可观测性平台,不过路漫漫其修远兮,初期只是把日志数据源引入并完成了基本的可视化,后续会着力 ...

  9. form表单提交后,页面弹出成功或者失败的信息

    Ssm 中用RedirectAttributes做提示消息` @RequiresPermissions("hic:zybl:hicZybl:edit") @RequestMappi ...

  10. ArrayList、LinkedList、Vector 的区别

    ArrayList,Vector 底层是由数组实现,LinkedList 底层是由双线链表实现,从底层的实现可以得出它们的性能问题, ArrayList,Vector 插入速度相对较慢,查询速度相对较 ...