Python网络爬虫与信息提取笔记09-信息提取的一般方法
作者:互联网
Python网络爬虫与信息提取笔记01-Requests库入门
Python网络爬虫与信息提取笔记02-网络爬虫之“盗亦有道”
Python网络爬虫与信息提取笔记03-Requests库网络爬虫实战(5个实例)
Python网络爬虫与信息提取笔记04-Beautiful Soup库入门
Python网络爬虫与信息提取笔记05-基于bs4库的HTML内容遍历方法
Python网络爬虫与信息提取笔记06-基于bs4库的HTML格式化和编码
Python网络爬虫与信息提取笔记08-三种信息提取方式比较
下面我们来介绍一下如何在获取的信息中提取自己所需要的的信息:
- 方法一:完整解析信息的标记形式,再提取关键信息
如XML,JSON,YAML
简单说我们需要标记解析器,例如:bs4库的标签树遍历
优点:信息解析准确。
缺点:提取过程繁琐,速度慢。
- 方法二:无视标记形式,直接搜索关键信息
如:搜索
对信息的文本查找函数即可
优点:提取过程简洁,速度较快。
缺点:提取过程准确性与信息内容相关。
- 融合方法:结合形式解析与搜索方法,提取关键信息。
XML、JSON、YAML 搜索
需要标记解析器以及文本查找函数
下面我们以bs4库为例来解释一下:
实例:提取HTML中所有的URL连接:
思路:1)搜索到所有<a>标签
2)解析<a>标签格式,提取href后的链接内容
我们继续引用之前的demo实例来帮助理解:
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(demo,"html.parser")
>>> for link in soup.find_all('a'):
print(link.get('href'))
http://www.icourse163.org/course/BIT-268001
http://www.icourse163.org/course/BIT-1001870001
>>>
我们看一下demo的文本内容:
<html>
<head>
<title>
This is a python demo page
</title>
</head>
<body>
<p class="title">
<b>
The demo python introduces several python courses.
</b>
</p>
<p class="course">
Python is a wonderful general-purpose programming language. You can learn Python from novice to professional by tracking the following courses:
<a class="py1" href="http://www.icourse163.org/course/BIT-268001" id="link1">
Basic Python
</a>
and
<a class="py2" href="http://www.icourse163.org/course/BIT-1001870001" id="link2">
Advanced Python
</a>
.
</p>
</body>
</html>
我们看到我们已经得到了这个HTML中所包含的url链接内容。
梦想小黑客. 发布了63 篇原创文章 · 获赞 19 · 访问量 5043 私信 关注标签:提取,Python,09,爬虫,笔记,网络,信息提取 来源: https://blog.csdn.net/MARS_098/article/details/104194446