python爬虫3:requests库-案例1
python爬虫3:requests库-案例1
前言
python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。
申明
本系列所涉及的代码仅用于个人研究与讨论,并不会对网站产生不好影响。
目录结构
文章目录
- python爬虫3:requests库-案例1
- 1. 目标
- 2. 详细流程
- 2.1 确定目标
- 2.2 代码
- 3. 总结
1. 目标
本次案例的目标是学习requests库get请求方法中的params参数的使用技巧。
再次说明,案例本身并不重要,重要的是如何去使用和分析。
2. 详细流程
2.1 确定目标
上一讲说过了,params参数是用于get请求所携带的请求信息,比如我们百度搜索“爬虫”,这个爬虫就是我们的请求信息。
那么,这次的案例就以百度搜索为例。
打开百度,搜索爬虫,关注上面的url:
https://www.baidu.com/s?wd=爬虫
不难发现,百度浏览器的网址为https://www.baidu.com/s,而后面的?wd=爬虫就是我们的请求参数。
这里需要补充一个知识:在网页请求中一般参数前面都是通过?分隔的。
基于此,我们可以知道我们的params参数应该这么构建了:
params = {'wd' : '你要搜索的内容'
}
2.2 代码
这次代码比较简单,因为爬虫主要有两个难点,一是获取网页源码,二是解析网页源码,而这次只有前一个步骤,所以比较简单。
代码如下:
# 导包
import requests# 网站
url = 'https://www.baidu.com'
# 构建params参数
search = input('请输入想要搜索的内容:')
params = {'wd' : search
}
# 构建headers参数
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36'
}
# 访问
response = requests.get(url,headers=headers,params=params)
# 查看访问结果
print(response.status_code)
print(response.content.decode('utf-8'))
结果如下:

3. 总结
本次案例,主要目的是:让大家明白requests库中get请求的params参数如何使用,并且如何去看懂我们平时请求网页的url中的参数在哪里,以帮助我们确定如何构建正确参数。
相关文章:
python爬虫3:requests库-案例1
python爬虫3:requests库-案例1 前言 python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 申明 本系列所涉及的代码仅用于个人研究与讨论,并不会对网…...
面部表情识别(Pytorch):人脸检测模型+面部表情识别分类模型
目录 0 相关资料1 基于人脸检测面部表情分类识别方法2 项目安装2.1 平台与镜像2.2 项目下载2.3 模型下载2.4 上传待测试图片2.5 项目安装 3 demo测试 0 相关资料 面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码):https://blog.csdn.net…...
外卖点餐小程序开源源码——支持扫码点餐
一套支持店内扫码点餐、外卖点餐配送于一体的餐饮系统,支持商家创建优惠券,支持商家自定义打印机功能,支持商家财务管理,支持商户菜品管理,支持菜品自定义分类,支持商家招募骑手入驻功能。系统基于thinkphp…...
十分钟掌握使用 SolidJS 构建全栈 CRUD 应用程序
我们可以开始讨论 SolidJS,说它比React更好,但没有必要做这种比较。SolidJS只是众多前端框架之一,旨在在Web上快速创建数据驱动。那么,我们为什么要突出这个新孩子呢? 首先,我们不能忽视SolidJS不使用虚拟…...
LabVIEW开发多材料摩擦电测量控制系统
LabVIEW开发多材料摩擦电测量控制系统 摩擦电效应是两个物体摩擦在一起,电荷从一个物体转移到另一个物体的现象,从而导致两个物体携带相等和相反的电荷。接触和充电是主导该过程的两个关键因素。当静电荷累积到一定水平时,可能会出现放电现象…...
【Linux】网络基础1
文章目录 网络基础11. 计算机网络背景1.1 网络发展 2. 认识协议2.1 网络协议2.2 OSI七层模型2.3 TCP/IP五层(或四层)模型 3. 网络传输基本流程3. 1 数据报封装和分用 4. 网络中的地址管理4.1 认识IP地址 5. 认识MAC地址 网络基础1 1. 计算机网络背景 1…...
HTML - Javascript - 原生的JS HTTP请求:实用主义的一篇文章
HTML - Javascript - 原生的JS HTTP请求:实用主义的一篇文章 前言 虽然现在使用JQuery等可以做到很方便的HTTP请求,但是这样做毕竟要引入一些JS文件。 如果想使用原生的JS进行HTTP网络请求应该怎样呢?可以使用XMLHttpRequest。 使用方法 …...
Intellij IDEA运行报Command line is too long的解决办法
想哭,vue前端运行起来,对应的后端也得起服务。 后端出的这个bug,下面的博客写的第二种方法,完整截图是下面这个。 Intellij IDEA运行报Command line is too long的解决办法 - 知乎 (zh…...
信号槽传输过程中指针所指对象的生命周期
在子线程中的一个槽函数,当读取到dxf文件完成后,结果通过在该槽函数中的 dx_data* pDxfData 指针变量读取。 然后通过QVariant封装该指针变量。发送到主线程中。 void qcWorker::slotReadDxfFile(QString dir) {bool bRtn{ false }; //定义一个局部指针…...
c++ 递归锁的使用
非递归锁 同一个线程里,在锁未释放的情况下反复加锁,会导致死锁。 示例 #include <iostream> #include <mutex> #include <thread> #include <unistd.h> using namespace std;std::mutex m_mutex;void Func() {m_mutex.lock(…...
Oracle TDE wallet
1. 钱夹密码千万不能忘记,这也是使用TDE 需要承担的风险。 2. 只要将wallet cwallet.sso 拷贝过去,加密没有意义! 钱夹的备份 正如上述,已经加密过的表列或者表空间,钱夹必须打开才能够查询到里面的数据。如果钱夹丢…...
多模态学习
一、目标 三、多模态核心任务 题目:...
Android学习之路(2) 文本设置
Android学习之路(1) 文本 一、设置文本内容 设置文本内容的两种方式: 一种是在XML文件中通过属性android:text设置文本代码如下 <TextViewandroid:id"id/tv_hello"android:layout_width"wrap_content"android:layout_height"wrap_c…...
手写springboot
前言 首先确定springboot在spring基础上主要做了哪些改动:内嵌tomcatspi技术动态加载 一、基本实现 1. 建一个工程目录结构如下: springboot: 源码实现逻辑 user : 业务系统2.springboot工程项目构建 1. pom依赖如下 <dependencies>…...
报错Uncaught (in promise) Error: Manifest request to...
在使用nuxt框架时,出现如下报错: 解决方案: 不要打开两个以上的开发者工具更换nuxt的端口号 参考资料:https://github.com/nuxt/nuxt.js/issues/6202...
微信私域更好玩了
之前分享过,“小绿书”“公众号文章转音频”等内测中或悄悄已升级的功能。 其实,微信还在内测很多新功能,只是没公开 今天,小编又发现新升级 就是『附近』功能 增加了一个本地生活的入口,这里面是短视频和图文 展示…...
基于ant-design的a-modal自定义vue拖拽指令
写一个dragDialog.js 在main.js中引入 import ‘./core/directives/dragDialog.js’ // 让 dialog 支持鼠标拖动 import Vue from vueVue.directive(DragDialog, {update: function (el, binding, vnode) {if (!binding.value || !binding.value.reset) returnconst dialog e…...
【ES】笔记-模板字符串(template string)是增强版的字符串`${expresions}`
模板字符串 传统的 JavaScript 语言,输出模板通常是这样写的(下面使用了 jQuery 的方法)。 $(#result).append(There are <b> basket.count </b> items in your basket, <em> basket.onSale </em> are on sal…...
利用 OLE 对象漏洞的 HWP 恶意文件浮出水面
ASEC 分析人员发现了一个利用 OLE 对象的恶意 HWP 文件,尽管其使用了 2020 年就被识别的恶意 URL,但仍然使用了 Flash 漏洞(CVE-2018-15982),需要用户谨慎对待。 打开 HWP 文件时会在 %TEMP%文件夹中生成如下文件。攻…...
Three.js 3D热力图实现全解析(从原理到实战)
1. 3D热力图的核心原理与实现思路 第一次接触3D热力图时,我也被那些酷炫的立体数据可视化效果惊艳到了。这种技术本质上是通过颜色和高度两个维度来呈现数据密度分布,比传统的2D热力图多了Z轴信息。在Three.js中实现这个效果,关键要理解三个核…...
i18n 2026.04.11
...
告别手动编译!用Jenkins Pipeline自动化你的C/C++项目(保姆级配置流程)
告别手动编译!用Jenkins Pipeline自动化你的C/C项目(保姆级配置流程) 每次修改几行代码就要重新执行cmake .. && make,看着终端里滚动的编译日志发呆?还在为团队成员提交的代码导致构建失败而头疼?…...
RevokeMsgPatcher终极指南:Windows平台消息防撤回与多开完整解决方案
RevokeMsgPatcher终极指南:Windows平台消息防撤回与多开完整解决方案 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: http…...
大模型之Linux服务器部署大模型筛
一、各自优势和对比 这是检索出来的数据,据说是根据第三方评测与企业数据,三款产品在代码生成质量上各有侧重: 产品 语言优势 场景亮点 核心差异 百度 Comate C核心代码质量第一;Python首生成率达92.3% SQL生成准确率提升35%&…...
ESP32-C3 FN4P5N模块实战:如何用PlatformIO一键搞定烧录与调试(附配置模板)
ESP32-C3 FN4P5N模块实战:PlatformIO高效开发全攻略 第一次拿到ESP32-C3 FN4P5N模块时,我被它仅有指甲盖大小的体积震惊了——这个集成了4MB闪存和512KB PSRAM的物联网芯片,竟然能通过USB直接完成烧录和调试。作为常年奔波在各种嵌入式项目间…...
FastAPI子应用挂载:别再让root_path坑你一夜幻
Julia(julialang.org)由Stefan Karpinski、Jeff Bezanson等在2009年创建,目标是融合Python的易用性、C的高性能、R的统计能力、Matlab的科学计算生态。 其核心设计哲学是: 高性能:编译型语言(JIT࿰…...
EasyVtuber未来发展规划:AI虚拟主播的技术趋势与创新方向
EasyVtuber未来发展规划:AI虚拟主播的技术趋势与创新方向 【免费下载链接】EasyVtuber Based on Talking-head-anime 3, works like Vtube Studio. 项目地址: https://gitcode.com/gh_mirrors/ea/EasyVtuber EasyVtuber是一款基于Talking-head-anime 3技术开…...
Queue<T> 完整知识点详解
一是什么Queue<T> 是 先进先出(FIFO) 的泛型集合。只能从尾部入队只能从头部出队不支持索引访问顺序严格按照进入顺序二命名空间using System.Collections.Generic;三创建队列1.空队列Queue<int> queue new Queue<int>();2.指定容量Q…...
深圳程序员职业生涯校企合作申请过程东北大学
深圳程序员职业生涯校企合作申请过程东北大学2024年从江西赣州老家乘坐火车至广州白云区火车站。选择广州白云区的石基地铁站站点一个人红星社区寻找工程师适合居住的地方。大学应届毕业之后一直都是居住在广州番禺区。家境不好适合很多事情都是藏在风里面。大学专科毕业生经常…...
