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

数据爬虫(一):爬虫的基本原理介绍 一、什么是爬虫 爬虫:请求网站并提取数据的自动化程序 百科:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。   二、爬虫基本流程 发起请求:通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的heade 阅读详情
AI摘要

本文介绍如何使用Python和XPath抓取知乎网页数据,包括问题描述、关注者数及浏览数等,并提供完整代码。

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

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

一般而言,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练习题

检查学习结果。
在这里插入图片描述

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述
最后,千万别辜负自己当时开始的一腔热血,一起变强大变优秀。

1.网络爬虫概述 一、爬虫是什么? 二、爬虫可以做什么? 三、爬虫开发中有哪些技术? 阅读详情

相关推荐

超强干货之---Python-数据爬取(爬虫)

定义: 深度优先搜索是一种遍历或搜索树或图的算法,从起始节点开始,一直沿着一个分支走到底,再回溯到上一个节点继续搜索下一个分支,直到遍历完所有节点。特点递归:通常用递归实现,或者使用栈来模拟递归过程。内存占用低:在有大量分支的情况下,内存占用比广度优先搜索低。适合目标较深的情况:如果目标节点距离起始节点较深,DFS能更快找到目标。适用场景需要遍历所有节点的情况,如生成树、迷宫搜索。目标节点较深,且分支较多时。在大规模数据爬取时,选择合适的存储方式取决于数据的规模、结构和访问需求。

房东的猫的博客 5万+

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

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

qq_74350135的博客 7648

VMware vCenter 6.7证书过期急救指南:从503报错到完美修复的全流程

本文详细解析了VMware vCenter 6.7因STS证书过期导致503报错的根本原因,并提供了一套从诊断到修复的完整实战流程。内容包括使用checksts.py脚本检测STS证书状态,通过fixsts.sh脚本更新证书,以及利用Certificate-Manager全面重置所有过期证书,帮助管理员快速恢复服务并避免常见陷阱。

weixin_29234239的博客 768

python爬虫详解

python爬虫简介 1、基本概念 1.1、什么是爬虫 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。例如:传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具也存在着一定的局限性,通用搜索引擎的目标是尽可能大的网络覆盖率,返回的结果包含大量用户不关心的网页,为了解决上述问题,定..

小仙儿 6万+

INS/伪距组合导航(2)

伪距惯导组合导航

u014430081的博客 827

告别迷茫!用C#和Windows.Devices.Bluetooth搞定BLE设备连接与数据收发(附完整代码)

本文详细介绍了如何使用C#和Windows.Devices.Bluetooth命名空间实现BLE设备连接与数据收发。从开发环境配置到设备扫描、服务发现、数据通信及资源管理,提供完整代码示例和实战技巧,帮助开发者快速掌握低功耗蓝牙开发,解决连接稳定性和异常处理等常见问题。

weixin_29248653的博客 504

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

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

weixin_37988176的博客 1171

SAP-ABAP:接口多继承与复合接口设计:复杂业务场景下的能力组合实现方案

本文介绍了ABAP中通过接口多继承与复合接口设计实现能力组合的方案。文章首先辨析了类实现多个接口与接口继承接口的核心概念,指出ABAP虽不支持类多继承,但可通过这两种机制灵活组合能力。随后详细讲解了类实现多个接口的语法规则与三种调用方式,并给出了五个基础能力接口的设计示例(日志记录、权限校验、数据导出、消息通知、格式转换)。作者通过对比单继承与接口多重实现的差异,强调后者在解耦和扩展性上的优势,为复杂业务场景下的能力组合提供了实用解决方案。

baidu_35680696的博客 244

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

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

weixin_37988176的博客 871

7、PPG信号处理与质量评估

本文详细介绍了PPG信号的处理与质量评估方法,包括信号滤波技术(如卷积和互相关)、滤波器选择、信号质量指标(SQI)的定义与应用,以及标注一致性的评估。同时,提供了MATLAB代码示例和操作步骤,并分析了不同指标的优势与适用场景,旨在提高PPG信号在诊断和监测中的准确性与可靠性。

salt的博客 253

前言:为什么要学习爬虫和逆向,该如何学习?

学习爬虫和逆向技术是当今数字化时代的重要技能,尤其在数据分析、安全研究、自动化工具开发等领域有广泛应用。以下是详细的学习理由、路径和方法:

数据知道的博客 1万+

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

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

weixin_28726969的博客 1393

开关电源-LLC基本原理

本文详细介绍了LLC谐振变换器的兴起原因、基本工作原理、变换器特点及拓扑结构。重点讨论了半桥、全桥LLC及其软开关技术,包括零电压开关(ZVS)和零电流开关(ZCS)。通过理解简单的谐振电路(RL、RC、LC)来阐述LLC如何改变电压增益,以及如何通过调节频率实现输出电压的稳定性。

让你爱上电路设计 2万+

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

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

q6q6q的专栏 4210

PSINS工具箱学习(四)捷联惯导更新算法

原始 Markdown文档、Visio流程图、XMind思维导图见:https://github.com/LiZhengXiao99/Navigation-Learning。

实践出真理,接毕设/课设项目开发指导 604

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

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

小司机的奥拓 1277

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

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

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

weixin_29473141的博客 131

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

python爬虫通俗点讲是什么

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

Python_cresss的博客 332
上一篇: 手把手教你用Python网络爬虫获取壁纸图片
下一篇: 3000W个程序员晕了,python学了有什么用?
智泊AI官方
博客等级 码龄6年 8637粉丝 2667原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值