编程语言
首页 > 编程语言> > Python网络爬虫与信息提取笔记09-信息提取的一般方法

Python网络爬虫与信息提取笔记09-信息提取的一般方法

作者:互联网

Python网络爬虫与信息提取笔记01-Requests库入门

Python网络爬虫与信息提取笔记02-网络爬虫之“盗亦有道”

Python网络爬虫与信息提取笔记03-Requests库网络爬虫实战(5个实例)

Python网络爬虫与信息提取笔记04-Beautiful Soup库入门

Python网络爬虫与信息提取笔记05-基于bs4库的HTML内容遍历方法

Python网络爬虫与信息提取笔记06-基于bs4库的HTML格式化和编码

Python网络爬虫与信息提取笔记07-信息组织与提取方法

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