python爬虫--04 数据标记和提取

1 介绍

标记后的信息可形成信息组织结构,增加了信息维度

HTML的信息标记

文本、声音、图像、视频
HTML是WWW(World Wide Web)的信息组织方式
HTML通过预定义的<>…</>标签形式组织不同类型的信息

2 信息标记的形式

XML

中文名:可扩展标记语言
英文全称:eXtensible Markup Language
特点:使用标签表达信息
形式:
## 形式
<person>
    <firstName>Tian</firstName>
    <lastName>Song</lastName>
    <address>
        <streetAddr>中关村南大街5号</streetAddr>
        <city>北京市</city>
        <zipcode>100081</zipcode>
    </address>
    <prof>Computer System</prof><prof>Security</prof>
</person>

JSON

中文名:JavaScript 对象标记语言 
英文全称:JavaScript Object Notation
特点:有类型的键值对表达信息
形式:
## 形式
       “key” : “value”
 “key” : [“value1”, “value2”]
“key” : {“subkey” : “subvalue”}

YAML

中文名:YAML是另一种标记语言
英文全称:YAML Ain't Markup Langguage
特点:无类型的键值对表达信息
## 形式
key : value
key : #Comment
‐value1
‐value2
key :
    subkey : subvalue

3 三种标记形式的比较

特点

XML:最早的通用信息标记语言,可扩展性好,但繁琐
JSON:信息有类型,适合程序处理,较XML简洁
YAML:信息无类型,文本信息比例最高,可读性好

作用

XML:Internet上的信息交互与传递
JSON:移动应用云端和节点的信息通信,无注释
YAML:各类系统的配置文件,有注释易读

4 信息提取的三种方式

完整解析-提取

标记解析器---优点:信息解析准确;缺点:提取过程繁琐,速度慢

直接搜索

查找函数---优点:提取过程简洁,速度较快;缺点:提取结果准确性与信息内容相关

融合方式

标记解析器和文本查找函数

实例:

import requests
from bs4 import BeautifulSoup
url = 'http://python123.io/ws/demo.html'
r = requests.get(url)
demo = r.text
soup = BeautifulSoup(demo,'html.parser')
for link in soup.find_all('a'):   ## 搜索到所有<a>标签
     print(link.get('href'))   ## 解析<a>标签格式,提取href后的链接内容      <>.find_all(name, attrs, recursive, string, **kwargs)
     
>http://www.icourse163.org/course/BIT-268001
 http://www.icourse163.org/course/BIT-1001870001
发布了108 篇原创文章 · 获赞 7 · 访问量 5192

猜你喜欢

转载自blog.csdn.net/qq_25672165/article/details/104906439
今日推荐