【爬虫基础】第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 quoteargs = 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 urlencodeargs = 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 urlencodeurl ='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请求中包含的数据进行相应的处理,并返回相应的数据给客户端。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache Hive的基本使用语法

一、数据库操作 创建数据库 create database if not exists myhive;查看数据库 use myhive; desc database myhive;创建数据库并指定hdfs存储 create database myhive2 location /myhive2;删除空数据库(如果有表会报错) drop database myhive;…

【Redis】Redis 介绍Redis 为什么这么快?Redis数据结构Redis 和Memcache区别 ?为何Redis单线程效率也高?

目录 Redis 介绍 Redis 为什么这么快? Redis数据结构 Redis 和Memcache区别 ? 为何Redis单线程效率也高? Redis 介绍 Redis 是一个开源(BSD 许可)、基于内存、支持多种数据结构的存储系统,可以作为数据…

专题:一个自制代码生成器(嵌入式脚本语言)之应用实例

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 专题:一个自制代码…

信号处理--基于FBCSP滤波方法的运动想象分类

目录 理论 工具 方法 代码获取 理论 通用空间模式 (CSP) 算法可以用来有效构建最佳空间滤波器区分,然后实现运动想象的数据中的脑电信号的区分。然而,空间滤波器性能的好坏主要取决于其工作频带。如果脑电信号没有经过滤波或者滤波的频带范围不合适…

如何选择适合自己的软文推广平台

随着新媒体的兴起,越来越多的企业关注软文的推广,一篇好的软文离不开一个好的发布渠道。如何选择合适的发稿平台已经成为很多企业的痛点,所以我会根据自己的经验介绍一个常见的发稿平台。 1.门户网站 门户网站,这里就不解释哪些网…

【虹科分享】前Tableau工程师展示Domo如何与Tableau和Power BI高效结合

文章速览: Domo如何与Tableau协同工作如何将Domo数据集连接到Tableau工作簿如何从Domo连接到Tableau数据提取Domo如何与Power BI协同工作 现有的BI工具的不足该如何弥补,前Tableau工程师Tanner Brockbank的建议是,取长补短,结合…

Jenkins升级中的小问题

文章目录 使用固定版本安装根据jenkins页面下载war包升级jenkins重启jenkins报错问题解决 K8s部署过程中的一些小问题 ##### Jenkins版本小插曲 ​ 在Jenkins环境进行插件安装时全部清一色飘红,发现是因为Jenkins版本过低导致,报错的位置可以找到更新je…

【动手学深度学习】深入浅出深度学习之线性神经网络

目录 🌞一、实验目的 🌞二、实验准备 🌞三、实验内容 🌼1. 线性回归 🌻1.1 矢量化加速 🌻1.2 正态分布与平方损失 🌼2. 线性回归的从零开始实现 🌻2.1. 生成数据集 &#x…

网络安全:Kali Linux 进行SQL注入与XSS漏洞利用

目录 一、实验 1.环境 2.Kali Linux 进行SQL注入 3.Kali Linux 进行XSS漏洞利用 二、问题 1.XSS分类 2.如何修改beef-xss的密码 3.beef-xss 服务如何管理 4.运行beef报错 5.beef 命令的颜色有哪些区别 6.owasp-top-10 有哪些变化 一、实验 1.环境 (1&a…

2024年腾讯云4核8g服务器并发数、优惠价格、支持多少人在线?

腾讯云4核8G服务器价格:轻量4核8G12M优惠价格646元15个月、CVM S5服务器4核8G配置1437元买1年送3个月。腾讯云4核8G服务器支持多少人同时在线?支持30个并发数,可容纳日均1万IP人数访问。腾讯云百科txybk.com整理4核8G服务器支持多少人同时在线…

Chrome之解决:浏览器插件不能使用问题(十三)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

C程序编译、链接与项目构建

C程序编译、链接与项目构建 摘要C编译环境静、动态库介绍gcc与g和程序编译、链接Visual Studio创建和链接库动态库的显示调用Windows下显示动态库的加载/查找方式 Make介绍安装使用 CMake介绍安装使用构建方式内部构建外部构建构建使用静/动态库常用[系统]变量常用指令CMake模块…

YOLOv9改进策略:block优化 | Transformer架构ConvNeXt 网络在检测中大放异彩

💡💡💡本文改进内容:Transformer架构 ConvNeXt 网络在图像分类和识别、分割领域大放异彩,同时对比 Swin-T 模型,在多种任务中其模型的大小和准确率均有一些提升,模型的 FLOPs 较大的减小且 Acc …

Tire树-不学面试后悔

先来一张图,看多少同学在面试中遇到这个题,然后被迫放弃,那就太可惜,因为这个题只要你往下看就会了 Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字…

Spring-ThreadLocal内存泄漏原因及解决办法

ThreadLocal原理回顾 ThreadLocal的原理:每个Thread内部维护着一个ThreadLocalMap,它是一个Map。这个映射表的Key是一个弱引用,其实就是ThreadLocal本身,Value是真正存的线程变量Object。 也就是说ThreadLocal本身并不真正存储线…

电源模块 YULIN俞霖科技DC/DC电源模块 直流升压 高压稳压

Features 最低工作电压:0.7V电压隔离:1000VDC /3000VDC 平均无故障时间: > 800,000 小时短路与电弧保护无最低负载要求:可空载工作输入电压:5、12、15、24VDCOutput 100,200、300、400、500 、600、800、 1000、1…

关于使用TCP-S7协议读写西门子PLC字符串的问题

我们可以使用TCP-S7协议读写西门子PLC, 比如PLC中定义一个String[50] 的地址DB300.20 地址DB300.20 DB块编号为300,偏移量【地址】是30 S7协议是西门子PLC自定义的协议,默认端口102,本质仍然是TCP协议的一种具体实现&#xff…

答题小程序功能细节揭秘:如何提升用户体验和满足用户需求?

答题小程序功能细节体现 随着移动互联网的快速发展,答题小程序成为了用户获取知识、娱乐休闲的重要平台。一款优秀的答题小程序不仅应该具备简洁易用的界面设计,更应该在功能细节上做到极致,以提升用户体验和满足用户需求。本文将从题库随机…

【YOLOv5改进系列(5)】高效涨点----添加密集小目标检测NWD方法

文章目录 🚀🚀🚀前言一、1️⃣ 修改loss.py文件1.1 🎓 修改11.2 ✨ 修改21.3 ⭐️相关代码的解释 二、2️⃣NWD实验2.1 🎓 实验一:基准模型2.2 ✨实验二:NWD权重设置0.52.3 ⭐️实验三&#xf…

蓝桥杯练习题——博弈论

1.必胜态后继至少存在一个必败态 2.必败态后继均为必胜态 Nim游戏 思路 2 3,先手必赢,先拿 1,然后变成 2 2,不管后手怎么拿,先手同样操作,后手一定先遇到 0 0 a1 ^ a2 ^ a3 … ^ an 0,先…