欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-10 13:58:09
...

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