zoukankan      html  css  js  c++  java
  • beautifulsoup实现文章截取和脚本攻击

    引子:现在我们所写的所有高大上,炫酷的网页,在数据库中是如何存储的呢?其实数据库中存储的所有高大上的文章都是存的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变成普通的文本,然后还解决了脚本攻击,其实他的功能远远比这个强大,后续再更!

  • 相关阅读:
    MSPlus DataList Control(大数据量时的分页演示)
    关于MSPlus控件下载后用VS.NET打开提示目录不对的解决方法
    MSPlus.TabControl V1.1 版本发布
    发布MSPlus TabControl WebControl V1.0.0710 版本
    想开发.Net Server Controls 的初学者必读资料
    K8S学习笔记01
    snmpd服务部署与爆破
    python连接telnet服务
    Telnet协议底层研究及python中telnetlib核心源码分析
    K8S学习笔记03
  • 原文地址:https://www.cnblogs.com/mcc61/p/11084810.html
Copyright © 2011-2022 走看看