引子:现在我们所写的所有高大上,炫酷的网页,在数据库中是如何存储的呢?其实数据库中存储的所有高大上的文章都是存的html,然后我们平时看的写的都是由于编辑器的原因,在编辑器内部做了转换,所以我们可以直接的书写文本,而不是去用html来进行文本的书写。

Beautiful Soup介绍官方文档

  Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。

Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。

Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。

Beautiful Soup下载

  下载的话我们推荐下载最新版的,Beautiful Soup4,直接在python中下载就好

Beautiful Soup使用

导入模块

from bs4 import BeautifulSoup

生成soup对象

soup = BeautifulSoup(content)   # 这个里面放的是你想让处理的文本内容

获得处理后的文本内容

tags = soup.find_all()

和普通的文本内容的区别

[<html><body>     </pre>]

多了上面两行,是将所有的文本内容放在了一个大列表中,然后文本内容比普通的文本内容要多,是因为他拿到了所有html文件包括直接用js写的吗?

获取所有的标签

 for tag in tags:
print(tag.name)

div <class 'str'>
h1 <class 'str'>
p <class 'str'>
p <class 'str'>
h2 <class 'str'>
div <class 'str'>

解决脚本攻击

        for tag in tags:
if tag.name == 'script':
tag.decompose() # 这个是用来删除

实现文章简介的截取

desc = soup.text[0:150]

完成了文章html变成普通的文本,然后还解决了脚本攻击,其实他的功能远远比这个强大,后续再更!

beautifulsoup实现文章截取和脚本攻击的更多相关文章

  1. XSS脚本攻击漫谈

    XSS跨站脚本攻击一直都被认为是客户端  Web安全中最主流的攻击方式.因为  Web环境的复杂性以及 XSS跨站脚本攻击的多变性,使得该类型攻击很难彻底解决.那么,XSS跨站脚本攻击具体攻击行为是什 ...

  2. ASP.NET Core中的OWASP Top 10 十大风险-跨站点脚本攻击 (XSS)

    不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻喷,如觉得我翻译有问题请挪步原博客地址 本博文翻译自: https://dotnetcoretutorials.com/201 ...

  3. IBM Rational AppScan:跨站点脚本攻击深入解析

    IBM Rational AppScan:跨站点脚本攻击深入解析    了解黑客如何启动跨站点脚本攻击(cross-site scripting,XSS),该攻击危害(及不危害)什么,如何检测它们,以 ...

  4. 第二百六十五节,xss脚本攻击介绍

    xss脚本攻击介绍 Cross-Site Scripting(XSS)是一类出现在 web 应用程序上的安全弱点,攻击者可以通过 XSS 插入一 些代码,使得访问页面的其他用户都可以看到,XSS 通常 ...

  5. xss脚本攻击

    xss脚本攻击不仅仅只是alert(1)就算完了,xss脚本攻击真正的用处是盗取普通用户的cookie,或者盗取管理员的cookie. xss分类(类型): 1. 反射型xss2. 存储型xss3. ...

  6. XFS: Cross Frame Script (跨框架脚本) 攻击。

    一.Cross Frame Script (跨框架脚本) 攻击什么是Cross Frame Script?很简单,做个实验就知道了.把下面的这段HTML代码另存为一个html文件,然后用ie浏览器打开 ...

  7. Cross Frame Script (跨框架脚本) 攻击

    一.Cross Frame Script (跨框架脚本) 攻击 什么是Cross Frame Script? 很简单,做个实验就知道了.把下面的这段HTML代码另存为一个html文件,然后用ie浏览器 ...

  8. 跨站点脚本攻击XSS

    来源:http://www.freebuf.com/articles/web/15188.html 跨站点脚本攻击是一种Web应用程序的攻击,攻击者尝试注入恶意脚本代码到受信任的网站上执行恶意操作.在 ...

  9. HTTP攻击与防范-跨网站脚本攻击

    实验目的 1.了解XSS -跨网站脚本攻击带来的危险性. 2.掌握XSS -跨网站脚本攻击的原理与方法 3.掌握防范攻击的方法 实验原理 跨网站脚本攻击之所以会发生,是因为网站的Web应用程序对用户的 ...

随机推荐

  1. Core Java之7种单例模式

    初始化空 初始化创建 一把锁 两把锁 大专栏  Core Java之7种单例模式"headerlink" title="静态内部类">静态内部类 静态加载 ...

  2. github博客配置

    配置基础环境 1.先下载github,运行git bash,输入 12 npm installnpm install -g hexo 2.选择一个熟悉的地方创建hexo文件夹,打开文件夹,在文件夹中运 ...

  3. Oracle的LOB(CLOB)大字段以及(SYS_LOB***$$)清理

    文章结构如下: 1.背景: 生产上查询那些大表然后进行清理,然而发现有SYS_LOB0000093441C00002$$这中表段占用30G(只保留一个月,如果保留更久会更大). 2.LOB介绍 Ora ...

  4. 查看python库文档

    安装完python第三方库以后,经常需要查询其文档,其实python就自带文档查看器.可以查看所有内置库和第三方库的文档,虽然不是很详尽,但是总比没有的好. 在命令行窗口 python -m pydo ...

  5. FPGA小白学习之路(5)clk为什么要用posedge,而不用negedge(转)

    clk为什么要用posedge,而不用negedge 转自:http://www.cnblogs.com/dangxia/archive/2012/03/07/2383744.html Verilog ...

  6. python 保存两位小数

    一.代码 import decimal decimal.getcontext().rounding = decimal.ROUND_HALF_UP def index(number): n = str ...

  7. 一行python代码搞定文件分享

    给同事分享文件,如你所知通过聊天工具,网盘或linux命令各种方法,还有一个也可以尝试下:使用一行python代码快速搭建一个http服务器在局域网内进行下载. python3使用: python3 ...

  8. 项目页面集成ckeditor富文本编辑器

    步骤一.引入ckeditor.js (注:本实例以ThinkPHP3.2框架为载体,不熟悉ThinkPHP的朋友请自行补习,ckeditor文件代码内容也请去ckeditor官网自行下载) 作为程序员 ...

  9. C语言入门理解指针

    本文章为本人原创,适合于刚入坑C语言,对于指针的定义和用法模糊不清的同学,如有不正,请各位指出. 从根本来说,指针变量也是变量,只是int变成了int *,以此类推.只不过指针变量里面放的内容是普通变 ...

  10. 使用纯粹的JS构建 Web Component

    原文链接:https://ayushgp.github.io/htm...译者:阿里云 - 也树 Web Component 出现有一阵子了. Google 费了很大力气去推动它更广泛的应用,但是除 ...