【爬虫基础1.1课】——requests模块上

目录索引

  • ==requests模块的作用:==
    • 实例引入:
  • ==特殊情况:==
    • 锦囊1:
    • 锦囊2:

这一个栏目,我会给出我从零开始学习爬虫的全过程。感兴趣的小伙伴可以关注一波,用于复习和新学都是不错的选择。
那么废话不多说,就让我们开始吧。
请跟我念口号:
爬虫,爽!
在这里插入图片描述

requests模块的作用:

一句话概括:用于发送和接受网站的响应。

Tips: 你给谁发请求,接收到的就是哪个网页传回来的响应。所以想学好爬虫,第一步就是向正确的网址发送响应。

实例引入:

  1. 比如说我们拿京东网站来举例。里面有非常多的数据,包括一切动态加载的数据。那如果我要只想要当前网页的静态数据,该怎么获取呢?

在这里插入图片描述
2.打开网页检查

在这里插入图片描述

这里面最重要的两个按钮就是:元素和网络。
其中,元素是整个网页的html代码。
而网络是我们爬虫的重点。

3.进入到网络界面后,找到对应的url

记得要刷新一下,这里面有各种各样的数据,包括动态的。我们需要将当前网页的网址复制到搜索框里进行检索。

在这里插入图片描述

那么跳出来的响应,就是我们要的当前网页返回的数据

4.检查url是否正确

从响应里面的response查看、搜索里面是否有我们需要的数据

在这里插入图片描述

特殊情况:

我们在实际使用爬虫的过程中,经常会遇到内容不在该页面或者压根找不到的情况。非常麻烦,那该怎么办呢?
莫慌,吾有良计!

锦囊1:

利用search按钮,对全页面的response数据进行总检索。

例子展示:

我们首先要拿出最经典的豆瓣电影网来做参考:
在这里插入图片描述

功夫是一个相当经典的电影。看上述图片,我们用本文开篇提到的搜索方法,发现功夫这个词条根本就不存在当前网页的response中。这时候我们就需要用到search按钮。

在这里插入图片描述

控制台中左上角的这个小放大镜,就是我们提到的search按钮。它的功能是在所有的response中检索相应的词条。

在这里插入图片描述

这下我们就能找到相应的url了,是不是非常简便呢。

锦囊2:

利用翻页的异步请求方式。如果锦囊1依旧找不到对应的url的话,我们就需要使用异步请求来查看对应的url。

1.首先清空网页内容,点击红框按钮即可。

在这里插入图片描述
2.我们都知道前端页面的设计具有规律性,网页中第2页获取请求的方式,跟第一页是一样的。所以我们会通过查看第二页的方式来获取对应的url。

在这里插入图片描述
3.寻找页码规律就可以找出对应的url了。最后,我们会得到一个json格式的数据。

在这里插入图片描述

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

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

相关文章

​​​​【收录 Hello 算法】5.2 队列

目录 5.2 队列 5.2.1 队列常用操作 5.2.2 队列实现 1. 基于链表的实现 2. 基于数组的实现 5.2.3 队列典型应用 5.2 队列 队列(queue)是一种遵循先入先出规则的线性数据结构。顾名思义,队列模拟了排队现象,即…

利用香港多IP服务器进行大数据分析的潜在优势?

利用香港多IP服务器进行大数据分析的潜在优势? 在当今数据驱动的时代,大数据分析已经成为企业获取竞争优势的不二选择。而香港作为一个拥有世界级通信基础设施的城市,提供了理想的环境来部署多IP服务器,从而为大数据分析提供了独特的优势。…

2024中国(重庆)人工智能展览会8月举办

2024中国(重庆)人工智能展览会8月举办 邀请函 主办单位: 中国航空学会 重庆市南岸区人民政府 招商执行单位: 重庆港华展览有限公司 【报名I59交易会 2351交易会 9466】 展会背景: 2024中国航空科普大会暨第八届全国青少年无人机大赛在…

Spring Framework-简介

Spring Framework Java Spring是一个开源的Java应用框架,它的主要目的是简化企业级应用开发的复杂性。Spring框架为开发者提供了许多基础功能,使得开发者能够更专注于业务逻辑的实现,而不是底层的细节。 主要特点和功能: 控制反…

数据库脚本编写规范(SQL编写规范)

编写本文档的目的是保证在开发过程中产出高效、格式统一、易阅读、易维护的SQL代码。 1 编写目 2 SQL书写规范 3 SQL编写原则 软件开发全文档获取:点我获取

全域运营是割韭菜吗?看完再下结论!

随着流量时代的到来,各大公私域平台中的流量争夺战日益激烈,商家和品牌实现流量变现的难度值也不断提高,运营人员的压力也逐渐增大。在此背景下,全域运营的兴起或许是一个契机,能够将所有人从内卷的状态中解救出来。而…

网络安全之OSPF进阶

该文针对OSPF进行一个全面的认识。建议了解OSPF的基础后进行本文的一个阅读能较好理解本文。 OSPF基础的内容请查看:网络安全之动态路由OSPF基础-CSDN博客 OSPF中更新方式中的触发更新30分钟的链路状态刷新。是因为其算法决定的,距离矢量型协议是边算边…

力扣刷题 day1

移动零 283. 移动零 - 力扣(LeetCode) 看到这道题,是否第一个想法就是双指针,下面我们就来使用双指针来完成这道题. 图: 代码: java: // 移动 0 双指针public void moveZeroes(int[] nums) {for (int current 0, dest -1; …

前端框架 Vue 主要用来做什么的?

Vue.js 是一个流行的前端框架,主要用于构建交互式的用户界面。它的设计目标是通过简单的 API 提供高效的数据驱动视图层。Vue 具有响应式数据绑定和组件化的特性,使得开发者可以轻松地构建复杂的单页面应用 (SPA) 和动态网页。 1. 数据驱动视图 Vue 的…

Matlab如何导出高质量论文插图?科研效率UpUp第8期

当你用Matlab绘制了一张论文插图: 想要所见即所得,原封不动地将其保存下来,该怎么操作呢? 虽说以前总结过7种方法(Matlab导出论文插图的7种方法),但要说哪一种可以满足上面的要求,想…

socket实现TCP UDP

1、socket通信建立流程 1.1、创建服务端流程 使用 socket 函数来创建 socket服务。 使用 bind 函数绑定端口。 使用 listen 函数监听端口。 使用 accept 函数接收客户端请求。 1.2、创建客户端流程 使用 socket 函数来创建 socket 服务。 使用 connect 函数连接到 socke…

TypeError: can only concatenate str (not “int“) to str

TypeError: can only concatenate str (not "int") to str a 窗前明月光,疑是地上霜。举头望明月,低头思故乡。 print(str_len len(str_text) : len(a)) 试图打印出字符串 a 的长度,但是在 Python 中拼接字符串和整数需要使用字符…

邮件代发邮箱API发送邮件时如何正确使用?

邮件代发API发送邮件如何使用?邮件代发的注意事项? 邮件代发邮箱API作为邮件发送的自动化工具,其正确使用对于提高工作效率、保障信息安全具有重要意义。下面,AokSend就来探讨一下在使用邮件代发邮箱API发送邮件时,应…

【Linux学习笔记】一篇文章彻底搞定 “Linux同步与互斥“ !

本章重点 1. 学会线程同步。 2 学会使用互斥量,条件变量,posix信号量,以及读写锁。 1、进程线程间的互斥相关背景概念 临界资源:多线程执行流共享的资源就叫做临界资源临界区:每个线程内部,访问临界资源的…

Springboot项目使用redis实现session共享

1.安装redis,并配置密码 这里就不针对于redis的安装约配置进行说明了,直接在项目中使用。 redis在windows环境下安装:Window下Redis的安装和部署详细图文教程(Redis的安装和可视化工具的使用)_redis安装-CSDN博客 2…

C++青少年简明教程:C++程序结构

C青少年简明教程&#xff1a;C程序结构 一个简单的C程序源码如下&#xff1a; #include <iostream> using namespace std;int main() {cout << "Hello World" << endl;return 0; }下面解析一下。 1. #include <iostream> 这是一条预处理…

Request请求数据 (** kwargs参数)

目录 &#x1f31f;前言&#x1f349;request入门1. params2. data3. json4. headers5. cookies6. auth7. files8. timeout9. proxies10. allow_redirects11. stream12. verify13. cert &#x1f31f;总结 &#x1f31f;前言 在Python中&#xff0c;发送网络请求是一项常见的任…

xCode升级后: Library ‘iconv2.4.0’ not found

报错信息&#xff1a; targets 选中 xxxNotification: Build Phases ——> Link Binary With Libraries 中&#xff0c;移除 libiconv.2.4.0.tbd libiconv.2.4.0.dylib 这两个库&#xff08;只有一个的移除一个就好&#xff09;。 然后重新添加 libiconv.tbd 修改完…

日本率先研发成功6G设备,刺痛了谁?为何日本能率先突破?

日本率先研发成功6G设备&#xff0c;无线数据速率是5G的百倍&#xff0c;这让日本方面兴奋莫名&#xff0c;毕竟日本在科技方面从1990年代以来太缺少突破的创新了&#xff0c;那么日本为何如今在6G技术上能率先突破呢&#xff1f; 日本在1980年代末期达到顶峰&#xff0c;它的科…

基于springboot+mybatis+vue的项目实战之(后端+前后端联调)

步骤&#xff1a; 1、项目准备&#xff1a;创建数据库&#xff08;之前已经创建则忽略&#xff09;&#xff0c;以及数据库连接 2、建立项目结构文件夹 3、编写pojo文件 4、编写mapper文件&#xff0c;并测试sql语句是否正确 5、编写service文件 6、编写controller文件 …