Beautiful Soup是一个非常流行的Python模块。该模块可以解析网页,并提供定位内容的便捷接口。

使用下面两个命令安装:

pip install beautifulsoup4或者 sudo apt-get install Python-bs4

如果想安装最新的版本,请直接下载安装包来手动安装,也是十分方便的方法。

在这里我安装的是 Beautiful Soup 4.5.1

下载完成之后把解压包放到site-package目录下,cd到解压包中,运行下面的命令即可完成安装:

sudo python setup.py install

然后需要安装lxml:

sudo apt-get install Python-lxml

使用Beautiful Soup的第一步是将已下载的HTML内容解析为soup文档。

由于大多数网页都不具备良好的HTML格式,因此Beautiful Soup需要对其实际格式进行确定。

例如,在下面这个简单网页的列表中,存在属性值两侧引号缺失和标签未闭合的问题。

markup ="

fdsf"

我们可以看到P标签未闭合。下面让我们看一下Beautiful Soup是如何处理的。

#!/usr/bin/env python

# -*- coding:utf-8 -*-

from bs4 import BeautifulSoup

markup ="

It's wonderful"

tags = []

#soup = BeautifulSoup(markup,'html.parser')

#环境问题,可能报错,暂时还没搞懂html.parser和lxml的区别,后续跟进,如果报错,就用下一行的代码

soup = BeautifulSoup(markup,'lxml')

fixed_html = soup.prettify()

print fixed_html

结果如下:

我们可以看到不仅

标签补全完整,而且加入了和

标签,进行格式化的输出。

下面我们就可以用findAll()方法查找我们想要的标签或者内容了。

我们先打印看一下findAll()得到的标签都是什么?

tags = []

tag = soup.findAll()

for sub in tag:

tags.append(sub.name)

print tags

执行结果如下:

我们得到了我们所需要的标签,然后我们在findAll()中加入想查找的标签。

例如:

sub = soup.findAll('p')

得到结果:

后续将会把该内容应用到爬虫中,对爬虫得到的网页进行解析。

推荐一些python Beautiful Soup学习网址

前言:这几天忙着写分析报告,实在没精力去研究django,虽然抽时间去看了几遍中文文档,还是等实际实践后写几篇操作文章吧! 正文:以下是本人前段时间学习bs4库找的一些网址,在学习的可以参考下,有点多 ...

python学习笔记--导入tab键自动补全功能的配置

今天开始学习Python,必须配置tab键补全功能 1.首先我们需要查看python的安装路径 [root@abc ~]# python Python 2.6.6 (r266:84292, Jan 2 ...

第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能

第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—用Django实现搜索的自动补全功能 elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.e ...

Python中tab键自动补全功能的配置

新手学习Python的时候,如何没有tab键补全功能,我感觉那将是一个噩梦,对于我们这种菜鸟来说,刚接触python,对一切都不了解,还好有前辈们的指导,学习一下,并记录下来,还没有学习这个功能小伙伴 ...

四十七 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能

elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.elastic.co/guide/en/elasticsearch/reference/current/se ...

php实现网页HTML标签补全方法

如果你的网页内容的html标签显示不全,有些表格标签不完整而导致页面混乱,或者把你的内容之外的局部html页面给包含进去了,我们可以写个函数方法来补全html标签以及过滤掉无用的html标签. php ...

网页内容的html标签补全和过滤的两种方法

网页内容的html标签补全和过滤的两种方法: 假设你的网页内容的html标签显示不全,有些表格标签不完整而导致页面混乱,或者把你的内容之外的局部html页面给包括进去了,我们能够写个函数方法来补全ht ...

python添加tab键自动补全功能

默认python是没有tab键补全功能的: >>> import tab Traceback (most recent call last): File "

vim基础学习之自动补全功能

本章我们学习自动补全功能1.自动补全优先从当前的编辑区获得补全列表例如:我们写下如下内容 aaaaa aabbb aaab 当我们再次输入aa,然后我们按下Tab的时候,会弹出一个包含 aaaaa a ...

随机推荐

Linux -- 文件统计常用命令

标签(空格分隔): Linux sort -- 文件内排序命令 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次比较其ASCII码. 按每行升序排序: sort seq.tx ...

JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)

转自:http://www.jb51.net/article/73157.htm   这篇文章主要介绍了JS实现漂亮的窗口 ...

Uva 10339 - Watching Watches【数论,暴力】

题目链接:10339 - Watching Watches 题意:两个时钟,一个每天慢a秒,一个每天慢b秒,问两钟重新相遇的时刻 1圈有12 * 60 * 60秒,然后1圈 / abs(a - b), ...

[LeetCode] Kill Process 结束进程

Given n processes, each process has a unique PID (process id) and its PPID (parent process id). Each ...

javascript函数调用中的方法调用模式

最近想起来之前看过的一种js语法,感觉很实用,但是又想不起来具体的写法.然后在网上浏览了一段时间,终于成功的再现了记忆中的那种语法,嗯~,还是那个熟悉的味道! 代码如下:

Wpf DataGrid 自动滚动到最后一行

if (mainDataGrid.Items.Count > 0) { var border = VisualTreeHelper.GetChild(mainDataGrid, 0) as De ...

洛谷P3247 最小公倍数 [HNOI2016] 分块+并查集

正解:分块+并查集 解题报告: 传送门! 真的好神仙昂QAQ,,,完全想不出来,,,还是太菜了QAQ 首先还是要说下,这题可以用K-D Tree乱搞过去(数据结构是个好东西昂,,,要多学学QAQ),但 ...

stark组件开发之列表页面预留钩子方法。 可根据用户的不同,显示不同的列

要实现,这个方法.子类中 list_diplay 这个列表, 就不能够写死.他应该是 可以根据.用户的不同,返回不同的值. 所以 就需要一个函数, 可以进行判断当前用户是谁. 并且往这个列表中添加,他 ...

使用 Git & Repo 下载代码

客户端安装 Git 安装 git,gitk 网络连接正常的情况下: $ sudo apt-get install git-core gitk git-gui 不能上网,有.deb安装包的,请执行: $ ...

队列的实现——c++

一.介绍 队列(Queue),是一种线性存储结构.它有以下几个特点:(01) 队列中数据是按照"先进先出(FIFO, First-In-First-Out)"方式进出队列的.(02 ...

html标签 补全方法 python,Python Beautiful Soup学习之HTML标签补全功能相关推荐

  1. python beautifulsoup抓取网页内容_利用Python和Beautiful Soup抓取网页内容

    利用Python和Beautiful Soup抓取网页内容 Posted on 2012-08-09 00:08 SamWei 阅读(381) 评论(1) 编辑 收藏 Python 3中提供了url打 ...

  2. python修改html内容_详解Python利用Beautiful Soup模块修改内容示例代码

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

  3. 爬虫工具之Beautiful Soup学习

    参考:[Python技能树共建]Beautiful Soup_梦想橡皮擦的博客-CSDN博客 Beautiful Soup主要用于将 HTML 标签转换为 Python 对象树,然后让我们从对象树中提 ...

  4. 万字博文教你python爬虫Beautiful Soup库【详解篇】

  5. python beautiful soup 标签完全相同_Python爬取Python教程并制作成pdf

    欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练.PDF电子文档.面试集锦.学习资料等. 想要把教程变成PDF有三步: 1.先生成空html ...

  6. Python 爬虫之 Beautiful Soup 模块使用指南

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/bruce_6/article/deta ...

  7. Python 爬虫利器二之 Beautiful Soup 的用法

    上一节我们介绍了正则表达式,它的内容其实还是蛮多的,如果一个正则匹配稍有差池,那可能程序就处在永久的循环之中,而且有的小伙伴们也对写正则表达式的写法用得不熟练,没关系,我们还有一个更强大的工具,叫 B ...

  8. Python爬虫学习之数据提取(Beautiful Soup)

    Python爬虫学习之数据提取Beautiful Soup 前期回顾 概述 解析器 准备工作 实例 节点选择器 方法选择器 find_all find 总结 前期回顾 Python爬虫学习之reque ...

  9. 【Python beautiful soup】如何用beautiful soup 解析HTML内容

    美丽汤(Beautiful Soup)是一个流行的Python库,用于从HTML或XML文件中提取数据.它将复杂的HTML文件转化为一个Python对象,使得用户可以更方便地解析.搜索和修改HTML内 ...

最新文章

  1. Oracle --获取绑定变量的值.
  2. linux qos 实现机制,linux的qos机制 - cgroup篇 (4)
  3. Android开发者指南(4) —— Application Fundamentals(二)
  4. nfs挂载在centos6后注意
  5. C++设计模式-抽象工厂模式
  6. python数组的使用
  7. svn导出项目到myeclipse,运行报ClassNotFoundException
  8. Moon一个无视Linq,无视实体类的设计思路.(不要错过,看了之后, 让我们从此以后不再羡慕linq to entiy!)...
  9. openpyxl使用教程
  10. 【win10专业版】如何检测声卡是否损坏
  11. win10系统 双击bat文件无法运行,只是以普通txt文件打开该文件,简单解决
  12. 计算机知识怎么记牢,怎么快速学拼音打字-教孩子学拼音的3个好方法:手脑结合、增加锚点、有趣的知识才能记得牢...
  13. 安卓APP应用在各大应用市场上架方法整理
  14. 面试心得与总结---BAT、网易、蘑菇街等
  15. NVMe 协议详解(一)
  16. 线程Signaled nonsignaled状态的意思
  17. word行距设置教程
  18. python3中利用serial模块实现单片机与python上位机的通信(串口调试助手)
  19. Mac上Unity打ab包报错 Moving file failed. … No Such file or director
  20. App启动图片变形,拉伸

热门文章

  1. Arcmap矢量数据的基础编辑
  2. 【nowcoder 224882】牛牛和数组操作(贪心)(剪枝)(区间DP)
  3. ClickHouse函数介绍
  4. 既然android service是运行在主线程中的,那service还有什么用?
  5. VS2017配置PCL1.9(win10环境)
  6. 资产管理运维一体化 接入IOT、BIM的设备数字智慧化管理
  7. 【ThinkPad系统重装】
  8. 【剑指 Offe】剑指 Offer 17. 打印从1到最大的n位数
  9. 第五人格获取服务器信息失败,第五人格获取版本信息失败怎么办 获取版本信息失败解决办法[图]...
  10. 如何清理华为云空间的照片