03网页解析器

本文介绍了Python中用于网页解析的工具,包括正则表达式、html.parser、BeautifulSoup和lxml。重点讲述了BeautifulSoup的用法,如创建BeautifulSoup对象、find_all和find方法,以及如何根据节点的属性、名称和文字进行搜索。还提供了查找不同类型节点的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网页解析器
从网页中提取有价值数据的工具,也会提取到网页中所有的url,用于后续的访问。
也就是说网页解析器会将网页下载器得到的html网页字符串作为输入,最后提取到①价值数据②新URL列表(待爬取)
Python网页解析器
1.正则表达式(最直观,将网页当作是一个字符串,进行模糊匹配但如果对于较为复杂的文档,会相当复杂)
2.html.parser(python自带)
3.beautifulSoup(第三方插件)
4.lxml
其中,BeautifulSoup既可以使用html.parser又可以使用lxml作为它的解析器。

正则是通过模糊匹配来进行爬取数据,而2,3,4则是结构化解析进行爬取数据。

什么是结构化解析

DOM(Document Object Model)树,以树的形式进行上下级的遍历和访问
会将整个网页当作是一个Document对象
这里写图片描述

Beautiful Soup

Python第三方库,用于HTML或XML中提取数据
官网
https://www.crummy.com/software/BeautifulSoup/

官网下载Beautiful Soup最新版本4.6.0
这里写图片描述
之后使用
import bs4
print(bs4)
来检测是否已经成功安装了beautifulSoup4

网页解析器-Beautiful Soup语法

①根据Html网页可以创建一个BeautifulSoup对象,创建这个对象的同时,就把这个文档加载为一个DOM树
②然后根据DOM树,就可以进行各种节点的搜索
这里面有两个方法
find_all方法:会搜索到所有满足条件的节点
find方法:会搜索到第一个满足条件的节点
其中find方法和find_all方法的参数是完全一致的。节点搜索,也可根据节点的属性,名称和文字进行搜索。
③得到节点后,我们就可以进行节点的访问。如节点的名称,节点的属性,节点的文字。

举个栗子
Python
节点名称:a
节点属性:href=”123.html”
class=”artical_link”
节点内容:Python
from bs4 import BeautifulSoup

根据HTML网页字符串创建BeautifulSoup对象

soup = BeautifulSoup(
‘html_cont’,#HTML文档字符串
‘html.parser’, #HTML解析器
from_encoding=’utf-8’ #HTML文档编码
)

搜索节点(find_all,find)
方法:find_all(name,attrs,string)
查找所有标签为a的节点

soup.find_all(‘a’)

查找所有标签为a,链接符合/view/123.html形式的节点

soup.find_all(‘a’,href=’/view/123.htm’)
soup.find_all(‘a’,href=re.compile(r’/view/123.htm’))

查找所有标签为div ,class为abc,文字为Python的节点

soup.find_all(‘div’,class_=’abc’,string=’Python’)

访问节点的信息
获取查找到的节点的标签名字

node.name

获取查找到的a节点的href属性

node[‘href’]

获取查找到的a节点的链接文字

node.get_text()

作为一个网页制作高手、美工和程序员,我们都有过这样的经历:当看到一个漂亮的Flash的 时候或看到一个精巧的JavaScript功能的时候,使用IE的查看源代码的功能,仔细分析相关 的HTML代码,从临时目录中或网站上取得想要的SWF文件和JS文件。吸取别人优点的做法往 往能够事半功倍,互联网中这样的宝藏真是不计其数!WebPage Spy就是一个帮助我们挖掘这 些宝藏的工具,他能够将您想要从网页中得到的一切分门别类的呈现在您眼前! WebPage Spy有一个HTML代码分析器,它能够在网页在浏览器显示一个网页的时候自动从其中 分析出该网页所含的HTML文件、Flash文件、JavaScript代码、Style Sheet代码、图像文件、 Applet文件、链接等等。所有这些显示在树形列表中,点击鼠标就可以查看图像和浏览代码, 可以将自己喜欢的文件保存到自己指定的目录中。 WebPage Spy还提供了许多附件来增强IE的功能,这些功能添加在同内容相关的右键菜单中, 您可以根据自己的需要选用:您可以使用“搜索包含此内容的网站“和“在新闻组中搜索此内容” 功能在互联网上搜索在网页中选中的文字;您可以使用“查看所选部分的代码”来查看网页的 部分HTML代码,方便程序调试和代码分析;“放大“、“缩小”和“高亮度显示文字”功能方便您在 演示的时候更好的标示重点,等等。 WebPage Spy还将常用的IE配置功能通过菜单的方式提供,您只要点击一下就可以达到目的, 再也不用总是进入“工具/Internet选项”,在选项卡中来回翻找。提供的快捷功能有:删除临 时文件,删除cookies,清除历史纪录。提供的选项开关有:显示图片,禁止脚本调试,启用 自动完成功能,允许脚本运行,允许Java Applet运行,允许ActiveX和插件运行。 赶快拥有WebPage Spy,发掘网页中无尽的宝藏! 产品特性 * 在您浏览网页的同时自动运行; * 同IE完美集成,可以象收藏夹那样显示和关闭; * 支持含Frame和IFrame的网页; * 将Flash, 图像, JavaScript, Style Sheet, 链接分类显示在树中; * 能够生成网页的所含外部元素的报告,并估算整个网页完全下载所需的时间; * 双击鼠标查看JavaScript, Style Sheet和网页的源代码; * 保存任何喜欢的内容; * 提供很多增强IE功能的附件; * 自定义增加的附件的数量; * 提供改变IE设置的快捷操作; * 图像列表可以将页面背景图,表格背景图等都列举出来; * JavaScript和Style Sheet列表包含链接的外部文件,也包含网页中内含的代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值