python——爬取网页(5)

本文介绍了信息标记的三种形式:XML、JSON和YAML,并讲解了信息提取的三种方法,包括完整解析、直接搜索和融合方法。接着通过实例展示了如何使用Python的`find_all()`函数从HTML中提取所有URL链接。
摘要由CSDN通过智能技术生成

信息标记的三种形式

用于理解信息所反馈的含义

  1. XML:扩展标记语言,以标签为主来构造标签,表达标签
    <name>....</name>
    有内容的标签
    <img src="china.jpg" size="10" />
    空标签
    <!-- This is a comment-->
    注释书写形式
    2.JSON:有类型的键值对,“key”:“value”,给出一个信息,对信息的类型进行定义
    "key":"value"
    一个值
    "key":["value1","value2"]
    多组值
    "key":{"subkey":"subvalue"}
    新的键值对做为值的一部分放入键值对的嵌套
  2. YAML:无类型的键值对,key:value
name:
            newname: value
            oldname:value1

用缩进表达包含关系

 name:
- value
-  -value1

用-表达并列关系

text: | #这是注释
这是一整块数据,换行也可以

用|表达整块数据
用#表达注释

比较
XML:最早的通用信息标记语言,可扩展性好,但繁琐。Internet上的信息交互与传递。
JSON:信息有类型,适合程序处理,较XML简洁。移动应用云端和节点的信息通信,无注释。
YAML:信息无类型,文本信息比例最高,可读性好。各类系统的配置文件,有注释易读。

信息提取的一般方法

方法一:完整解析信息的标记形式,再提取关键信息。
需要标记解析器 例如:bs4标签树的遍历
优点:信息解析正确
缺点:提取过程繁琐,速度慢

方法二:无视标记信息,直接搜索关键信息。
对信息的文本查找函数。
优点:提取过程简洁,速度较快
缺点:提取结果的准确性与信息内容相关

方法三:融合方法,结合形式解析与搜索方法,提取关键信息。
需要标记解析器与文本查找函数

【实例练习】

提取html中所有url链接

思路:1.搜索所有标签
2.解析标签格式,提取href后的链接内容

>>> from bs4 import BeautifulSoup #提取HTML中所有的URL链接
>>> import requests
>>> r=requests.get("https://python123.io/ws/demo.html")
>>> r.status_code
200
>>> demo=r.text
>>> soup=BeautifulSoup(demo,"html.parser")
>>> for link in soup.find_all('a'):#将所有a标签找出来
	print(link.get('href'))

http://www.icourse163.org
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值