网络爬虫首页投稿(暂停使用,暂停投稿)

Python爬虫:信息的标记与提取

2017-06-23  本文已影响67人  杜王丹

HTML的信息标记

HTML通过预定义的<>...</>标签形式组织不同类型的信息,如文本、图像、声音、视频。

信息标记的三种形式

XML、JSON、YAML

信息标记的作用

XML:

Extensible Markup Language,是一种用于标记电子文件使其具有结构性的标记语言,被设计用来传输和存储数据。

简单来说,XML通过标签形式来构建所有的信息。

JSON:

JavaScript Object Notation,即:JS 对象标记。是存储和交换文本信息的语法,类似XML,但比XML更小、更快,更易解析。

一般来讲,JSON格式用在程序对接口处理的地方,是有数据类型的键值对。

YAML:

Yet Another Markup Language,这种语言强调以数据做为中心;类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多。

YAML是无类型的键值对。

三种信息标记形式对比

信息提取的方法

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

例如:提取HTML中的所有URL链接

思路:搜索到所有a标签;解析a标签格式,提取href后的链接内容。

import requests
from bs4 import BeautifulSoup

res = requests.get('http://www.pmcaff.com/site/selection')
soup = BeautifulSoup(res.text,'lxml')

for link in soup.find_all('a'):
    print(link.get('href'))

# soup.find_all(...)也可简写为soup(...);同样,标签<tag>.find_all(...)方法也可简写为<tag>(...)

这里使用到了find_all()方法,上面代码括号内的a为检索的标签名称。

操作环境:Mac,Python 3.6,PyCharm 2016.2
参考资料:中国大学MOOC课程《Python网络爬虫与信息提取》

上一篇 下一篇

猜你喜欢

热点阅读