【爬虫基础】第4讲 GET与POST请求

GET请求

GET请求是一种HTTP方法,用于向服务器获取(或读取)数据。它是Web开发中最常用的请求方式之一。对于GET请求,客户端向服务器发送一个HTTP请求,服务器返回请求的资源。GET请求通常用于获取静态资源,比如HTML页面、图片、CSS文件等。GET请求可以通过URL参数传递数据,参数会附加在URL的末尾,例如:https://www.example.com/search?q=keyword

GET请求的特点是安全性较低,因为请求的参数是直接暴露在URL中,容易被拦截和篡改。因此,GET请求不适合传输敏感数据,如密码等。

方式一:使用quoto方法

from urllib.request import urlopen,Request
from fake_useragent import UserAgent
from urllib.parse import quote

args = input('请输入要搜索的内容:')
ua = UserAgent()
url = f'https://www.baidu.com/s?wd={quote(args)}'
headers = {
    'User-Agent':ua.chrome
}
req = Request(url,headers=headers)
resp = urlopen(req)
print(resp.read().decode())

方式二:使用urlencode方法

from urllib.request import urlopen,Request
from fake_useragent import UserAgent
from urllib.parse import urlencode

args = input('请输入要搜索的内容:')
parms = {
    'wd':args,

}
ua = UserAgent()
url = f'http://www.baidu.com/s?{urlencode(parms)}'

headers = {
    'User-Agent':ua.chrome
}

req = Request(url,headers=headers)
resp = urlopen(req)
print(resp.read().decode())

案例:

使用get请求抓取某同城的二手车数据

from urllib.request import urlopen,Request
from fake_useragent import UserAgent
from urllib.parse import quote
args = input('请输入品牌,使用中文全拼格式:')

url =f'https://wz.58.com/{quote(args)}/'
headers = {
    'User-Agent':UserAgent().chrome
}
req = Request(url,headers=headers)
resp = urlopen(req)

print(resp.read().decode())

执行结果:

POST请求

POST请求是一种HTTP请求方法,用于向服务器提交数据。与GET请求不同,POST请求的数据不会附加在URL中,而是作为请求的body部分进行发送。POST请求常用于向服务器提交表单数据、上传文件等操作。

from urllib.request import Request,urlopen
from fake_useragent import UserAgent
from urllib.parse import urlencode

url ='https://cn.bing.com/search'
headers ={
    'User-Agent':UserAgent().chrome
}
keyword = input('请输入查询的内容:')
args ={
    'q':f'{keyword}'
}

f_data=urlencode(args)
req = Request(url,headers=headers,data=f_data.encode())
resp = urlopen(req)
print(resp.read().decode())

POST请求的body部分是一个JSON字符串{"username": "john", "password": "password123"},用于向服务器传递用户名和密码。需要注意的是,POST请求的body部分的格式可以根据实际需要而定,可以是JSON、XML、表单数据等格式。通过POST请求,客户端可以向服务器发送数据并获取服务器的响应。服务器可以根据POST请求中包含的数据进行相应的处理,并返回相应的数据给客户端。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/495435.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

题目:摆花(蓝桥OJ 0389)

问题描述&#xff1a; 题解&#xff1a; #include <bits/stdc.h> using namespace std; using ll long long; const int N 105; const ll p 1e6 7; ll a[N], dp[N][N];int main() {int n, m; cin >> n >> m;for(int i 1; i < n; i)cin >> a[i…

[Semi-笔记]Switching Temporary Teachers for Semi-Supervised Semantic Segmentation

目录 概要创新一&#xff1a;Dual Temporary Teacher挑战&#xff1a;解决&#xff1a; 创新二&#xff1a;Implicit Consistency Learning&#xff08;隐式一致性学习&#xff09;挑战&#xff1a;解决&#xff1a; 实验结果小结论文地址代码地址 分享一篇2023年NeurIPS的文章…

学浪课程提取工具blog

由于抖音的流行,带动了学浪的销售,有些人可能不知道学浪是什么,学浪其实就是抖音课堂的前身,既然学浪官方不提供下载选项,但是有需求就一定有解决需求的方案,这不,经过研究,终于研究出来了学浪下载工具 这款学浪下载工具有需要的自己下载下来,我已经打包好了 链接&#xff1a…

软件项目的外包开发流程

软件项目的开发流程是一个系统化的过程&#xff0c;旨在确保软件产品能够高效、稳定地满足用户需求。在中国&#xff0c;软件产业的发展得到了国家的大力支持&#xff0c;众多软件企业遵循国际标准和最佳实践&#xff0c;推动了软件工程的进步。 以下是一般的软件项目开发流程&…

Web API —— BOM 学习(完结)

目录 一、BOM 介绍 二、Window 对象 &#xff08;一&#xff09;基本介绍 &#xff08;二&#xff09;定时器 —— 延时函数 1.语法 2.清除时间函数 3.和 interval 间歇函数的区别 &#xff08;三&#xff09;JS 执行机制 1.介绍 2.同步任务 3.异步任务 4.执行过程…

JetBrains全家桶激活,分享 WebStorm 2024 激活的方案

大家好&#xff0c;欢迎来到金榜探云手&#xff01; WebStorm公司简介 JetBrains 是一家专注于开发工具的软件公司&#xff0c;总部位于捷克。他们以提供强大的集成开发环境&#xff08;IDE&#xff09;而闻名&#xff0c;如 IntelliJ IDEA、PyCharm、和 WebStorm等。这些工具…

Java SPI解读:揭秘服务提供接口的设计与应用

一、什么是SPI&#xff1f; 在 Java 编程中&#xff0c;SPI&#xff08;Service Provider Interface&#xff09;是实现可插拔式应用的一种机制。它就像是应用程序的魔法盒&#xff0c;让你可以随时添加新的功能实现&#xff0c;而不需搞得一团糟。通过SPI&#xff0c;我们可以…

汇春科技之MDT10F684

目录 第一、时钟 第二&#xff0c;定时器Timer0 第三&#xff0c;pwm 汇春官网&#xff1a;汇春科技 (yspringtech.com) 汇春是麦肯的原厂&#xff0c;以下是两个论坛&#xff0c;其中都有关于麦肯单片机的学习论坛&#xff0c;可以参考学习&#xff0c;第一个叫英锐恩&…

康耐视visionpro-CogAcqFifoTool工具详细说明

CogAcqFifoTool操作说明&#xff1a; ① 打开工具栏&#xff0c;双击或点击鼠标拖拽 添加CogAcqFifoTool ②.从图片采集设备/图像采集卡列表里选择对应的相机&#xff0c;视频格式选择图像格式。 Mono表示黑白图像&#xff0c;RGB表示彩色相机。点击初始化取相初始化相机。 ③…

【OJ】动归练习三

个人主页 &#xff1a; zxctscl 如有转载请先通知 题目 1. LCR166. 珠宝的最高价值1.1 分析1.2 代码 2. 931.下降路径最小和2.1 分析2.2 代码 3. 64.最小路径和3.1 分析3.2 代码 1. LCR166. 珠宝的最高价值 1.1 分析 状态表示 以[i][j]位置为结尾&#xff0c;表示到达[i][j]位置…

AI大模型智能大气科学探索之:ChatGPT在大气科学领域建模、数据分析、可视化与资源评估中的高效应用及论文写作

深度探讨人工智能在大气科学中的应用&#xff0c;特别是如何结合最新AI模型与Python技术处理和分析气候数据。课程介绍包括GPT-4等先进AI工具&#xff0c;旨在帮助大家掌握这些工具的功能及应用范围。内容覆盖使用GPT处理数据、生成论文摘要、文献综述、技术方法分析等实战案例…

HN 热帖|难以想象,20 年前代码版本管理是如何做的

本文源自 Hacker News 热帖&#xff0c;原文 Twenty Years Is Nothing&#xff0c;作者 Adrian Kosmaczewski。 在之前的文章中&#xff0c;我们曾称英语在我们的行业中如此普遍&#xff0c;以至于没有人质疑其使用。同样&#xff0c;Git 也是如此。很难想象仅仅二十年前&#…

掌握数字化运维方法,构建数字化运维体系

文章目录 &#x1f4cb; 前言&#x1f3af; 什么是数字化转型&#x1f3af; 数字化运维发展变化&#x1f3af; 数字化转型书籍推荐&#x1f9e9; 主要内容&#x1f9e9; 适合读者 &#x1f525; 参与方式 &#x1f4cb; 前言 数字化转型已经成为大势所趋&#xff0c;各行各业正…

Leetcode1997. 访问完所有房间的第一天

Every day a Leetcode 题目来源&#xff1a;1997. 访问完所有房间的第一天 解法1&#xff1a;动态规划 状态转移&#xff1a; 代码&#xff1a; /** lc appleetcode.cn id1997 langcpp** [1997] 访问完所有房间的第一天*/// lc codestart class Solution { private:const in…

探索定制化创新,定制你的Jetson Linux驱动开发之旅!

Jetson驱动定制开发 Jetson linux驱动定制开发 在数字创新的浪潮中&#xff0c;Jetson系列为我们带来了无限的可能性。然而&#xff0c;要想真正发挥这种潜力&#xff0c;我们需要更多的自由和个性化。现在&#xff0c;通过定制化的Jetson Linux驱动开发&#xff0c;你可以实…

MYSQL8最新安装教程 ! ! !

MYSQL8最新安装教程 安装配置MySql一、下载MySql进入官网&#xff1a;https://dev.mysql.com 二、新建文件夹管理Mysql系列文件三、配置my.ini文件四、执行数据库初始化命令五、基础配置六、配置系统环境变量 可能会遇到无法启动MYSQL服务的问题:一、尝试删除MySQL服务&#xf…

揭秘:为何单点登陆方案(SSO)已无法满足现代企业的身份管理需求,统一身份中台才是未来

在信息化建设的浪潮中&#xff0c;企业面临着越来越多的应用系统管理和用户身份认证问题。许多企业最初可能认为&#xff0c;单点登录&#xff08;SSO&#xff09;系统就是他们所需要的解决方案&#xff0c;用以简化用户在多个系统间的登录过程。然而&#xff0c;随着业务的发展…

正大国际:黄金投资稳定与保值的避险之选

黄金作为备受投资者追捧的贵金属&#xff0c;在金融市场中扮演着重要的角色。黄金作为一种避险资产具有稳定性和保值特性&#xff0c;能够在市场动荡时提供投资者的资金保护&#xff0c; 正大召煮4/26/12 xiaoccsw 避险需求:当股票市场、货币市场或其他资产类别表现不佳时&a…

电脑关机速度很慢怎么解决?

给电脑关机,总是要很久才完全关闭。这是因为计算机运行了太长时间,并且打开的程序太多,则关闭时间超过十秒钟,这是正常的现象。还有就是计算机升级或补丁程序更新也将导致计算机缓慢关闭。此时,建议耐心等待关闭完成。还有可能是系统故障了。接下来分享电脑关机速度很慢怎…