假期小结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
用于获取响应时启用流式传输,等等。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律