Python网络爬虫与信息提取—— BeautifulSoup

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python网络爬虫与信息提取—— BeautifulSoup相关的知识,希望对你有一定的参考价值。

Boautiful Soup

BeautifulSoup官方介绍:

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.

官方网站:https://www.crummy.com/software/BeautifulSoup/

1、安装

在"C:\\Windows\\System32"中找到"cmd.exe",使用管理员身份运行,在命令行中输入:“pip install beautifulsoup4”运行。

提示pip版本过低,使用 python -m pip install --upgrade pip 进行升级。

C:\\Windows\\system32>pip install beautifulsoup4
Requirement already satisfied (use --upgrade to upgrade): beautifulsoup4 in c:\\users\\lei\\appdata\\local\\programs\\python\\p
ython35\\lib\\site-packages\\beautifulsoup4-4.5.0-py3.5.egg
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the ‘python -m pip install --upgrade pip‘ command.

Beautiful Soup库的安装测试:

演示HTML页面地址:http://www.cnblogs.com/yan-lei


>>> import requests
>>> r = requests.get("http://www.cnblogs.com/yan-lei/")
>>> r.text
‘\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\nPython学习者 - 博客园\\r\\n>> demo = r.text
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(demo,"html.parser")
>>> soup







Python学习者 - 博客园......

from bs4 import BeautifulSoup soup = BeautifulSoup(‘

data

‘,‘html.parser‘)

2、Beautiful Soup库的使用

以HTML为例,任何HTML文件都是有一组"<>"组织起来的,其实就是标签,标签之间形成了上下游关系,形成了标签树。BeautifulSoup库是解析、遍历、维护“标签树”的功能库

<p>..</p>:标签Tag

  • 标签Name一般成对出现
  • 属性Attributes 0个或多个

Beautiful Soup库的引用

Beautiful Soup库,也叫beautfulsoup4 或bs4。约定引用方式如下,即主要是用BeautifulSoup类。

from bs4 import BeautifulSoup import bs4

Beautiful Soup类

将标签树转换为BeautifulSoup类,此时我们将HTML、标签树、BeautifulSoup类等价

from bs4 import BeautifulSoup soup1 = BeautifulSoup("data","html.parser") soup2 = BeautifulSoup(open("D://demo.html","html.parser"))

BeautifulSoup对应一个HTML/XML文档的全部内容。

Beautiful Soup库解析器

soup = BeautifulSoup(‘data‘,‘html.parser‘)

解析器使用方法条件
bs4的HTML解析器 BeautifulSoup(mk,‘html.parser‘) 安装bs4库
lxml的HTML解析器 BeautifulSoup(mk,‘lxml‘) pip install lxml
lxml的XML解析器 BeautifulSoup(mk,‘xml‘) pip install lxml

newsoup = BeautifulSoup("

This is not a comment

","html.parser") Beautiful Soup类的基本元素

基本元素说明
Tag 标签,最基本的信息组织单元,分别用<>和</>标明开头和结尾
Name 标签的名字,<p>...</p>的名字是‘p‘,格式:<tag>.name
Attributes 标签的属性,字典形式的组织,格式:<tag>.attrs
NavigleString 标签内非属性字符串,<>...</>中字符串,格式<tag>.string
Comment 标签内字符串的注释部分,一种特殊的Comment类型

以上是关于Python网络爬虫与信息提取—— BeautifulSoup的主要内容,如果未能解决你的问题,请参考以下文章

Python网络爬虫与信息提取(中国大学mooc)

python网络爬虫与信息提取——5.信息组织与提取方法

python网络爬虫与信息提取笔记

Python网络爬虫与信息提取—— BeautifulSoup

003 Python网络爬虫与信息提取 网络爬虫的'盗亦有道'

Python网络爬虫与信息提取—requests库入门