当前位置: 首页 > news >正文

爬虫基础(下)

requests模块可以用来获取网络数据;

那么对于爬虫来说,要获取下图网页中的内容,就需要网页的URL。

复制链接方法是,打开网页,点击链接框,右键选择复制。

requests.get()函数可用于模拟浏览器请求网页的过程,在Python语言中使用该函数,就能够获取网页数据。

get()函数中传入要访问网页的URL,就像浏览器打开URL一样。

(1)获取网页内容的步骤

(2)代码实现

# 使用import导入requests模块
import requests# 将网页链接赋值给url
url = "https://*****************/"# 使用requests.get()方法获取url的内容,将结果赋值给response
response = requests.get(url)# 输出response
print(response)

返回的response对象,就是响应消息;

(3)获取状态码

在浏览器中查看Response Headers中的信息就能够找到status:200,状态码200代表此次请求执行成功。

使用.status_code属性就可以查看状态码,这里输出的状态码数据类型是整型

import requestsurl = "https://nocturne-spider.baicizhan.com/2020/07/29/example-post-3/"response = requests.get(url)statusCode = response.status_codeprint(statusCode)

而只有状态码返回为200时,才能够成功获取到网页内容。

为满足上面的运行逻辑,我们要使用条件判断语句if..else先判断状态码,当状态码等于200时,再进行下一步操作。


if response.status_code == 200:print(response.status_code)else:print("请求数据失败")

(4)提取信息,获取内容

通过请求URL,获取到了Web服务器返回的信息,

要用.text属性,该属性能够将获取到的信息提取出来。

网页内容多,我们可以用切片(遵循左闭右开,将字符串进行分割)方法,输出前1000个字符;

if response.status_code == 200:content = response.text[:1000]print(content)else:print("请求数据失败")

(5)HTML

刚刚输出的内容是HTML语言,它是由许多的标签组成,这些标签构成网页的内容;

这个就是类似输出的HTML语言

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 5.1.1"><link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png"><link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png"><link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png"><link rel="mask-icon" href="/images/logo.svg" color="#222"><link rel="stylesheet" href="/css/main.css"><link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">

(5)总结

HTML是构成网页的标记语言。

URL指定了要访问文档的具体地址。

HTTP协议规定了文档的传递方式。

爬虫就是根据URL,通过HTTP协议去获取HTML内容。

相关文章:

爬虫基础(下)

requests模块可以用来获取网络数据&#xff1b; 那么对于爬虫来说&#xff0c;要获取下图网页中的内容&#xff0c;就需要网页的URL。 复制链接方法是&#xff0c;打开网页&#xff0c;点击链接框&#xff0c;右键选择复制。 requests.get()函数可用于模拟浏览器请求网页的过…...

【八股文面试】Java基础常见面试题总结(上)

Java基础常见面试题总结(上) Java有哪些特性 简单易学&#xff1b;面向对象&#xff08;封装&#xff0c;继承&#xff0c;多态&#xff09;&#xff1b;平台无关性&#xff08; Java 虚拟机实现平台无关性&#xff09;&#xff1b;支持多线程&#xff08; C 语言没有内置的多…...

c++:蓝桥杯的基础算法2(构造,模拟)+练习巩固

目录 构造 构造的基础概念&#xff1a; 模拟 练习1&#xff1a;扫雷 练习2&#xff1a;灌溉 练习3&#xff1a;回文日期 构造 构造的基础概念&#xff1a; 构造算法是一种用于解决特定问题的算法设计方法。在C语言中&#xff0c;构造算法通常涉及到创建一个函数或类来实…...

C++ 和 C#的区别

如是我闻&#xff1a; C#&#xff08;发音为 “C sharp”&#xff09;和C是两种流行的编程语言&#xff0c;它们各有特点和用途。下面是这两种语言的一些主要区别&#xff1a; 设计理念和用途: C: 是一种多范式编程语言&#xff0c;支持过程化编程、面向对象编程、泛型编程等。…...

2.14日学习打卡----初学Zookeeper(一)

2.14日学习打卡 目录: 2.14日学习打卡Zookeeper概念一. 集中式到分布式单机架构集群架构什么是分布式三者区别 二. CAP定理分区容错性一致性可用性一致性和可用性的矛盾一致性和可用性如何选择 三. 什么是Zookeeper分布式架构Zookeeper从何而来Zookeeper介绍 四. 应用场景数据发…...

SkyWalking之APM无侵入可观测原理分析

一、 简介&#xff08;为什么需要用到可观测能力&#xff09; 随着微服务的开发模式的兴起&#xff0c;早期的单体架构系统已拆分为很多的子系统&#xff0c;各个子系统封装为微服务&#xff0c;各服务间通过HTTP协议RESET API或者RPC协议进行调用。 在单体服务或者微服务较少的…...

Missing artifact org.yaml:snakeyaml:jar:1.29

关于导入本地maven项目pom.xml出现missing artifact org....报错处理 环境变量配置maven&#xff0c;eclipse中配置maven&#xff0c;重启eclipse。...

三opencv源码解压及环境变量配置

1.双击opencv-3.4.6-vc14-vc15.exe 2.选择解压的路径&#xff0c;点击【extract】 3.设计环境变量...

vue实时监控视频播放的进度,并在播放80%位置触发相应操作

video标签&#xff1a;播放时触发canplay事件 <video:src"filePath"controlsv-if"filePrefix mp4 || filePrefix avi"canplay"getVideoDur()"id"myVideo"class"preview"></video>canplay触发的方法&#xff…...

HTML+CSS滚动条样式如何单独给firefox设置 scrollbar-width: none;,而不影响其他浏览器

要在Firefox中单独设置滚动条样式,你可以使用​​@-moz-document​​规则。这个规则允许你为特定的浏览器或浏览器引擎应用样式。 下面是一个例子,演示如何在Firefox中隐藏滚动条: @-moz-document url-prefix() {/* 在这里添加只对Firefox生效的样式 */body {scrollbar-wi…...

《Go 简易速速上手小册》第2章:控制结构与函数(2024 最新版)

文章目录 2.1 条件语句:决策的艺术2.1.1 基础知识讲解2.1.2 重点案例:用户角色权限判断实现用户角色权限判断扩展功能实现代码功能扩展:添加或删除用户2.1.3 拓展案例 1:成绩等级判断实现成绩等级判断功能实现代码扩展功能:详细反馈...

基于EasyCVR视频汇聚系统的公安网视频联网共享视频云平台建设思路分析(一)

随着社会的发展和科技的进步&#xff0c;视频监控系统在各个领域的应用越来越广泛&#xff0c;视频云平台建设已经成为了行业数字化转型的重要一环。公安网视频汇聚联网共享云的建设需要充分考虑技术、架构、安全、存储、计算等多方面因素&#xff0c;以确保平台的稳定性和可用…...

HQYJ 2024-2-21 作业

复习课上内容&#xff08;已完成&#xff09;结构体字节对齐&#xff0c;64位没做完的做完&#xff0c;32位重新都做一遍&#xff0c;课上指定2字节对齐的做一遍&#xff0c;自己验证&#xff08;已完成&#xff09;两种验证大小端对齐的代码写一遍复习指针内容&#xff08;已完…...

LeetCode每日一题【283. 移动零】

题目&#xff1a; 思路&#xff1a; 双指针&#xff0c;i和j。当i和j所指元素都不为0时&#xff0c;他们同时向后走&#xff0c;当j所指元素为0时&#xff0c;只走j&#xff0c;i固定。这样下来&#xff0c;i就指向最后一个非0元素的下一个位置&#xff0c;j就指向那些0元素之…...

CF1200E Compress Words

题目描述 Amugae has a sentence consisting of n words. He want to compress this sentence into one word. Amugae doesnt like repetitions, so when he merges two words into one word, he removes the longest prefix of the second word that coincides with a suffix…...

ip https证书推荐

公网IP地址是每个连接到互联网的设备所必需的标识。公网IP地址是用于在互联网上唯一标识一个设备的IP地址&#xff0c;它由一组由四个数字组成的字符串组成&#xff0c;每个数字在0到255之间。随着互联网的发展&#xff0c;只有公网IP地址的站点也开始重视传输信息安全&#xf…...

大气颗粒物与VOCs PMF源解析技术应用

目前&#xff0c;大气颗粒物和臭氧污染成为我国亟待解决的环境问题。颗粒物和臭氧污染不仅对气候和环境有重要影响&#xff0c;而且对人体健康有严重损害。而臭氧的前体物之一为挥发性有机物&#xff08;VOCs&#xff09;。为了高效、精准地治理区域大气颗粒物和臭氧污染&#…...

VSCODE中使用Vue3教程

VUE介绍 Vue.js is a popular JavaScript library for building web application user interfaces and Visual Studio Code has built-in support for the Vue.js building blocks of HTML, CSS, and JavaScript. For a richer Vue.js development environment, you can insta…...

Mac M2芯片配置PHP环境

Mac M2芯片配置PHP环境 1. XAMPP2. PHPBrew(PHP版本管理)安装php7.4.33版本 3. 直接使用homebrew 安装php环境参考 1. XAMPP 官网地址 https://www.apachefriends.org/ 安装 安装完成 web server打开后&#xff0c;在打开localhost 成功&#xff01; 2. PHPBrew(PHP版本管…...

[嵌入式系统-25]:RT-Thread -12- 内核组件编程接口 - 网络组件 - HTTP编程

目录 一、HTTP编程概述 1.1 概述 1.2 HTTP 服务器和 HTTP 客户端 二、HTTP Client 2.1 如何配置HTTP Client 2.2 HTTP Client代码实例1&#xff1a;socket发送http报文 2.3 HTTP Client代码实例2&#xff1a;httpc_xx接口收发HTTP报文 2.3.1 接口函数描述 2.3.2 代码实…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...