通俗的讲,网络爬虫到底是什么?

精通 Python 网络爬虫:核心技术、框架与项目实战 内容简介 本书从技术、工具与实战3个维度讲解了 Python 网络爬虫: 技术维度:详细讲解了 Python 网络爬虫实现的核心技术,包括网络爬虫的工作原理、如何用 urllib 库编写网络爬虫、爬虫的异常处理、正则表达式、爬虫中 Cookie 的使用、爬虫的浏览器伪装技术、定向爬取技术、反爬虫技术,以及如何自己动手编写网络爬虫; 工具维度:以流行的 Python 网络爬虫框架 Scrapy 为... 阅读详情

爬虫通俗来说就是抓取网页数据,比如说大家都喜欢的妹子图、小视频呀,还有电子书、文字评论、商品详情等等。

只要网页上有的,都可以通过爬虫爬取下来。

一般而言,python爬虫需要以下几步:

  1. 找到需要爬取内容的网页URL
  2. 打开该网页的检查页面(即查看HTML代码,按F12快捷键即可进入)
  3. 在HTML代码中找到你要提取的数据
  4. 写python代码进行网页请求、解析
  5. 存储数据
    在这里插入图片描述
    当然会撸python是前提,对于小白来说自学也不是件容易的事,需要花相当的时间去适应python的语法逻辑,而且要坚持亲手敲代码,不断练习。

如果对自己没有自信,也可以考虑看编程课程,跟着老师的节奏去学习,能比较快地掌握python语法体系,也能得到充分的案例练习。

在默认你已经有python基础的前提下,来说一说如何写代码进行网页请求、解析。

网页请求意思是把网页的HTML源码下载下来。

好了,接下来我们一步步按照套路把本问题的信息都爬下来!
在这里插入图片描述

一、找到需要爬取网页的URL

我们需要爬取四个信息:

  • 问题描述
  • 问题补充
  • 关注者数
  • 被浏览数

二、打开该网页的检查页面

推荐使用chrome浏览器实践,会和本文操作同步。

打开本问题的网页:
在这里插入图片描述
按F12键进入开发者页面:
在这里插入图片描述

三、在HTML代码中找到你要提取的数据

点击开发者页面左上角的‘选择元素’箭头:
在这里插入图片描述
然后再点击网页上的问题描述,这时候开发者界面上出现HTML源码:
在这里插入图片描述
你想要的问题描述文字,就藏在html源码里:
在这里插入图片描述
我们要爬取的第一个信息已经找到,按照上面步骤,可以找到其它三个信息在html中的位置。

四、写python代码进行网页请求、解析

这一步可能是大家最最关心的,因为涉及到python代码。

其实这里对python的要求也仅限于你需要会数据类型、变量、运算符、函数、模块之类的简单语法。

因为我们会用到好几个第三方库,帮助我们完成网页请求、解析的工作,你需要做的是知道这些库的使用方法。

Part 1
这里用到的用于网页请求的库是requests,一个非常流行的http请求库。
这里请求的是什么?不是原谅、也不是理解,而是网页的html信息。
服务器收到请求后,会返回相应的网页对象。
在这里插入图片描述
Requests库会自动解码来自服务器的内容,大多数 unicode 字符集都能被无缝地解码。

这一切requests都能妥妥地搞定。
我们来尝试下:
import requests
headers = {'User-Agent':你的浏览器headers}
# 传入url和请求头
r = requests.get('https://www.zhihu.com/question/21358581',headers=headers)
# 响应的内容
print(r.text)

我们会接收到服务器返回的页面,requests解析后,呈现下面这样子:
在这里插入图片描述
这就是我们需要的html源码呀!

接下来要做的就是从html中抽取我们需要的四个信息。

Part 2
通过网页请求,我们获取到响应的html文档,我们需要的东西都在这个文档里。

但是怎么去抽取信息呢?

XPath 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。

这里用到另一个有用的库xpath,xpath库可以让你轻松的使用XPath语言查找信息。

既然XPath是在XML文档中才能起作用,然而我们刚刚获取的html只是文本字符串。

所以需要把html文档转换为XPath可以解析的对象:lxml.etree._Element(xml/html文件树中的一个节点)。
接着上面代码:

# 将html文档转换为XPath可以解析的
s = etree.HTML(r.text)

Part 3
这下我们可以使用xpath库来进行信息的提取了。

xpath的使用方法这里不赘述了,大家可以网上搜搜资料,个半小时也能学会。

这里介绍一种简单的方法,你在开发者页面中找到对应信息的源码后,直接右键复制xpath地址:

但复制的xpath很有可能会导致获取的信息为空,所以我这里用标签的属性来获取对应文本。

接上面代码:

# 获取问题内容
q_content = s.xpath('//*[@class="QuestionHeader-title"]/text()')[0]
# 获取问题描述
q_describe = s.xpath('//*[@class="RichText ztext"]/text()')[0]
# 获取关注数和浏览量,这两个属性一样
q_number = s.xpath('//*[@class="NumberBoard-itemValue"]/text()')
concern_num = q_number[0]
browing_num = q_number[1]
# 打印
print('问题:',q_content,'\n','描述:',q_describe,'\n','关注数:',concern_num,'\n','浏览量:',browing_num)

最终呈现的结果:
在这里插入图片描述
全部代码:

import requests
from lxml import etree
headers = {'User-Agent':你的浏览器headers}
r = requests.get('https://www.zhihu.com/question/21358581',headers=headers)
s = etree.HTML(r.text)
# 获取问题内容
q_content = s.xpath('//*[@class="QuestionHeader-title"]/text()')[0]
# 获取问题描述
q_describe = s.xpath('//*[@class="RichText ztext"]/text()')[0]
# 获取关注数和浏览量,这两个属性一样
q_number = s.xpath('//*[@class="NumberBoard-itemValue"]/text()')
concern_num = q_number[0]
browing_num = q_number[1]
# 打印
print('问题:',q_content,'\n','描述:',q_describe,'\n','关注数:',concern_num,'\n','浏览量:',browing_num)

结论

好了,关于这个问题的信息已经通过python爬下来。

初学的小伙伴自己尝试再多爬些内容,练习requests和xpath的使用,爬虫也就能入门了。

对于小白来说自学也不是件容易的事,需要花相当的时间去适应python的语法逻辑,而且要坚持亲手敲代码,不断练习。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

朋友们如果需要这份完整的资料可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、Python学习大纲

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、入门学习视频

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。在这里插入图片描述

五、python副业兼职与全职路线

在这里插入图片描述

在这里插入图片描述

👉[[优快云大礼包:《python兼职资源&全套学习资料》免费分享]](安全链接,放心点击)

深入解析Mifare Classic Crypto1认证流程与密钥交换机制 本文深入解析Mifare Classic Crypto1认证流程与密钥交换机制,详细介绍了Crypto1加密算法的工作原理、认证初始化阶段、随机数交换与密钥流生成过程,以及双向验证步骤。文章还分析了Mifare Classic的安全漏洞,包括随机数生成缺陷和密钥流恢复攻击,并提供了Proxmark3实战演示和防护建议。 阅读详情

相关推荐

STM32H7+LAN8720A之ETH与LWIP配置问题(End)

开篇介绍 由于项目中需要使用到STM32H7系列的芯片,且该系列无法移植ST的标准库,只能使用ST的HAL库,通过STM32Cube生成HAL库的基本代码。在项目开发中需要使用到STM32板载的ETH口,在简化的四层模型中充当着数据链路层的角色,我们只需添加PHY并配置好IP,即可实现基本的TCP主从机通信、UDP通信等等。 一、激光雷达3i-T1 由于使用了一款只具有网口通信的单线激光雷达,其具有TCP和UDP方式的通信方式,为了避免进行TCP中的socket报文解析和繁琐的通信握手过程,我们首先将雷达配

weixin_42024702的博客 1万+

什么是网络爬虫?认识网络爬虫

网络爬虫 ( Web Crawler) 又称网络蜘蛛、网络机器人它是一种按照一定规则,自动浏览万维网的程序或脚本。通俗地讲,网络爬虫就是一个模拟真人浏览万维网行为的程序这个程序可以代替真人自动请求万维网,并接收从万维网返回的数据。与真人浏览万维网相比,网络爬虫能够浏览的信息量更大,效率也更高。其主要功能是按照一定的规则,自动地抓取互联网上的信息,并将这些信息存储在本地或者数据库中,以供后续的数据处理和分析。网络爬虫通常被用于搜索引擎、数据挖掘、信息监控等领域。

qq_74350135的博客 7648

of_graph_get_remote_port

isp { compatible = "isp"; core@0 { id = <0>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; ...

wmzjzwlzs的专栏 1163

网络爬虫是什么?怎么学python爬虫

网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。

m0_59235508的博客 2846

别再只调API了!深度拆解Dify文件上传的两种传参方式(sys.file vs. inputs.upload_file)

本文深度解析Dify平台文件上传的两种传参方式——sys.file与inputs.upload_file,详细对比其设计原理、技术实现及适用场景。通过代码示例和性能分析,帮助开发者在本地大模型应用中做出精准技术选型,提升文件处理效率与系统稳定性。

weixin_29063979的博客 266

LVGL多线程编程避坑指南:从音乐播放器项目看UI与后台任务如何安全协作

本文深入探讨LVGL在多线程环境下的安全协作问题,以音乐播放器项目为例,解析UI与后台任务(如mplayer音频播放器)的典型冲突场景。提供全局互斥锁规范、任务队列异步处理等核心策略,并分享mplayer进程集成方案与进度条优化技巧,帮助开发者规避界面卡顿、内存损坏等常见问题。

weixin_42531494的博客 131

什么是网络爬虫?有什么用?怎么爬?终于有人讲明白了

导读:网络爬虫也叫做网络机器人,可以代替人们自动地在互联网中进行数据信息的采集与整理。在大数据时代,信息的采集是一项重要的工作,如果单纯靠人力进行信息采集,不仅低效繁琐,...

大数据 6万+

基于 Qt 的轻量化工业组态软件设计与实现

本文设计并实现了一种基于Qt框架的轻量化工业组态软件,解决了传统组态软件体积庞大、部署复杂等问题。该软件采用模块化架构,集成可视化图形编辑、设备数据采集、脚本扩展等核心功能,具有跨平台运行、资源占用低、启动速度快等特点。通过关键技术优化,实现了高效稳定的数据采集、脚本控制和网络通信,可广泛应用于工业机器人HMI、小型PLC监控等轻量化场景。测试结果表明,该软件体积约30MB,运行内存占用60-80MB,启动时间1.2秒,满足工业轻量化监控需求。未来可扩展更多工业组件和协议支持,进一步提升应用价值。

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你 140

一文带你了解爬虫

前段时间我妈突然问我:儿子,爬虫是什么?我当时既惊讶又为难,惊讶的是为什么我妈会对爬虫好奇?为难的是我该怎么给她解释呢? 老板:小明给你个重要任务。 小明:就算996我也在所不辞(第一次接到老板的直接需求)! 老板:你能不能搞到竞争对手的商品价格? 小明:没问题(牛逼先吹出去),小事! 老板:这可不是小事,只要你能持续获取竞品价格,我们就可以标价低于他们,持续如此大家就知道我们的价格肯定是比他们...

猪哥 3万+

Vue Vben Admin 登录页修改全攻略:从登录界面定制到接口对接全流程配置

方式一:修改国际化文件找到对应的语言包文件,修改和的值。方式二:直接传递文本page-description="现代化的后台管理系统模板"page-title="欢迎使用 Vue Vben Admin"从上面的代码可以看出,登录表单使用了的方式来定义表单字段,这种方式提供了极大的灵活性。如果你想要自定义表单,可以修改formSchema数组。如果你的登录需求非常特殊,现有的组件无法满足,你可以完全自定义表单。只需在login.vue中替换<template><h2>自定义登录</h2>

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 477

区块链技术与应用 【全国职业院校技能大赛国赛题目解析】Caliper从0到使用

技能大赛样题解析,caliper题目从0到使用

weixin_52865146的博客 2075

什么叫python爬虫-通俗的讲,网络爬虫到底是什么?

简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。你可以简单地想象:每个爬虫都是你的「分身」。就像孙悟空拔了一撮汗毛,吹出一堆猴子一样。你每天使用的百度,其实就是利用了这种爬虫技术:每天放出无数爬虫到各个网站,把他们的信息抓回来,然后化好淡妆排着小队等你来检索。抢票软件,就相当于撒出去无...

weixin_37988176的博客 1171

【Android逆向工程】第18章:Ollvm 混淆与对抗

本章介绍了Ollvm混淆技术及其对抗方法。Ollvm是基于LLVM的开源代码混淆工具,主要实现控制流平坦化、虚假控制流和指令替换三种混淆技术。控制流平坦化通过状态变量和switch-case结构隐藏真实控制流,将原本清晰的逻辑拆分为多个状态块。混淆后的代码在静态分析中难以理解,但可通过动态追踪执行路径、符号执行等方法来还原原始逻辑。本章还提供了混淆代码示例和对抗策略,帮助理解Ollvm的工作原理及其防御方法。

w987333120的博客 213

python爬虫是什么通俗一点-通俗的讲,网络爬虫到底是什么?

通俗来讲,爬虫就是利用代码编写的程序或脚本,帮助你对互联网海量信息进行过滤、筛选,批量自动抓取网站中你想获取的信息,并对其进行整理排序。网络爬虫又被成为网络蜘蛛,如果将互联网比喻成一个蜘蛛网,那么这个程序或脚本,就是在网上爬来爬去的蜘蛛。归结为一句话就是进行互联网信息的自动化检索,其实就是获取数据的一种手段。目前常见的搜索引擎都离不开爬虫,举个例子,百度搜索引擎的爬虫叫做百度蜘蛛,百度蜘蛛每天会自...

weixin_37988176的博客 871

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

python爬虫是什么概述_通俗的讲,网络爬虫到底是什么?

且听小宅来分享分享:我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛。把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息。可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛通过一个节点后,可以顺着节点连线继续爬行到达下一个节点,即通过一个网页继续获取后续的网页,这样整个网的节点便可以被蜘蛛全部爬行到,网站的数据就可以被 抓取下来了。爬虫概述简单来说,...

weixin_28726969的博客 1393

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python爬虫什么意思-通俗的讲,网络爬虫到底是什么?

简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。你可以简单地想象:每个爬虫都是你的「分身」。就像孙悟空拔了一撮汗毛,吹出一堆猴子一样。你每天使用的百度,其实就是利用了这种爬虫技术:每天放出无数爬虫到各个网站,把他们的信息抓回来,然后化好淡妆排着小队等你来检索。抢票软件,就相当于撒出去无...

q6q6q的专栏 4210

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

通俗的讲,网络爬虫到底是什么?零基础入门到精通,收藏这一篇就够了

互联网是一个庞大的数据集合体,网络信息资源丰富且繁杂,如何在数据的海洋里找到自己需要的信息呢?网络爬虫技术顺应互联网时代的发展应运而生。网络爬虫,又称为网络蜘蛛,实际上音译 Spider 得到,此外 Crawler,bots, robots 以及 wanderer等都是其同义词。定义网络爬虫时,可从广义与狭义两个角度进行,从狭义角度看,该软件程序采取标准 http 协议对万维网信息空间的遍历依靠超链接与Web 文档检索办法完成;广义角度出发,网络爬虫是对 Web 文档进行检索依靠 http 协议就能够实现。

小司机的奥拓 1277

code iban 是有什么组成_通俗的讲,网络爬虫到底是什么?看完这篇你就明白了!...

什么是爬虫?网络爬虫(Web crawler),就是通过网址获得网络中的数据、然后根据目标解析数据、存储目标信息。这个过程可以自动化程序实现,行为类似一个蜘蛛。蜘蛛在互联网上爬行,一个一个网页就是蜘蛛网。这样蜘蛛可以通过一个网页爬行到另外一个网页。网络爬虫也是获取数据的一个途径。对于大数据行业,数据的价值不言而喻,在这个信息爆炸的年代,互联网上有太多的信息数据,对于中小微公司,合理利用爬虫爬取有价...

weixin_29473141的博客 131

python爬虫通俗点讲是什么

世界上80%的爬虫是基于Python开发的,学好爬虫技能,可为后续的大数据分析、挖掘、机器学习等提供重要的数据源。 什么是爬虫?网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索...

Python_cresss的博客 332
上一篇: Python和Excel的完美结合:常用操作汇总(案例详析)
下一篇: 当我给表弟用python写了个雷霆战机后...
智泊AI官方
博客等级 码龄6年 8637粉丝 2667原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值