python之Beautiful Soup库

1、简介简单来说,BeautifulSoup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下:BeautifulSoup提供一些简单的、python式的函数用来处理导航、搜索

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

1、简介

  简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下:

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

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

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

2、环境安装

  Beautiful Soup 3 目前已经停止开发,推荐在现在的项目中使用Beautiful Soup 4,不过它已经被移植到BS4了,也就是说导入时我们需要 from bs4 import BeautifulSoup  。所以这里我们用的版本是 Beautiful Soup 4.3.2 (简称BS4)。

  1、快速安装

1
pip install beautifulsoup4

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

    1、Beautiful Soup3.2.1

    https://pypi.python.org/pypi/BeautifulSoup/3.2.1

    2、Beautiful Soup4.3.2

      https://pypi.python.org/pypi/beautifulsoup4/

    下载完成之后解压

    运行下面的命令即可完成安装

     python setup.py install

  3、然后需要安装 lxml

   pip install lxml

   另一个可供选择的解析器是纯Python实现的 html5lib , html5lib的解析方式与浏览器相同,可以选择下列方法来安装html5lib:

   pip install html5lib

    Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它,则 Python 会使用 Python默认的解析器,lxml 解析器更加强大,速度更快,推荐安装。

  python之Beautiful Soup库

3. 使用方法

  最佳方法参考官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/

  

  以下内容测试css和xpath分别提取文本和属性的区别,方便后续查看

from scrapy.selector import Selector
from scrapy.http import HtmlResponse
from bs4 import BeautifulSoup as bs

body = '''<html>
         <head>
          <base href='http://example.com/' />
          <title id="txt">Example website</title>
         </head>
         <body>
          <div id='images'>
           <a href='image1.html'>Name: My image 1 <br /><img src='image1_thumb.jpg' /></a>
           <a href='image2.html'>Name: My image 2 <br /><img src='image2_thumb.jpg' /></a>
           <a href='image3.html'>Name: My image 3 <br /><img src='image3_thumb.jpg' /></a>
           <a href='image4.html'>Name: My image 4 <br /><img src='image4_thumb.jpg' /></a>
           <a href='image5.html'>Name: My image 5 <br /><img src='image5_thumb.jpg' /></a>"div text"</div>
          <div>helloworld test</div>
         </body>
        </html>'''
soup = bs(body, "lxml")
print("css获取属性:",soup.select("div")[0].attrs["id"])
print("xpath获取属性:",Selector(text=body).xpath("//div/@id").extract()[0])

print("css获取文本:", soup.select("title[id='txt']")[0].string)
print("xpath获取文本:",Selector(text=body).xpath("//title[@id='txt']/text()").extract()[0])

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120060.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • submit text3 2021 激活码(最新序列号破解)

    submit text3 2021 激活码(最新序列号破解),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 最小设计流量怎么计算_动态限流算法

    最小设计流量怎么计算_动态限流算法给定一个包含 n 个点 m 条边的有向图,并给定每条边的容量和费用,边的容量非负。图中可能存在重边和自环,保证费用不会存在负环。求从 S 到 T 的最大流,以及在流量最大时的最小费用。输入格式第一行包含四个整数 n,m,S,T。接下来 m 行,每行三个整数 u,v,c,w,表示从点 u 到点 v 存在一条有向边,容量为 c,费用为 w。点的编号从 1 到 n。输出格式输出点 S 到点 T 的最大流和流量最大时的最小费用。如果从点 S 无法到达点 T 则输出 0 0。数据范围2≤n≤50

  • 滑动窗口 leetcode_滑动窗口最多可以有多少帧

    滑动窗口 leetcode_滑动窗口最多可以有多少帧原题链接给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值————— —–[1 3 -1] -3 5 3 6 7

  • IDEA查看接口或类的继承实现关系图「建议收藏」

    IDEA查看接口或类的继承实现关系图「建议收藏」有时候看源码的时候,会经常性的把复杂类的关系搞混,下次碰到这种情况,应该从上到下把继承关系和接口理解清楚,这样看源码就会有一条主线。    1.看继承关系           右键选择Diagrams,然后显示       2.看接口的实现关系           crtl+alt+B会显示出跟这个接口有关系的类。           然后把需要的拖过来,形成树状图。(我…

  • com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别 serverTimezone设定[通俗易懂]

    com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别 serverTimezone设定[通俗易懂]com.mysql.jdbc.Driver是mysql-connector-java5中的,com.mysql.cj.jdbc.Driver是mysql-connector-java6中的1,JDBC连接Mysql5com.mysql.jdbc.Driver:driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localho

  • win732位系统怎么安装_windows7可以安装python 什么版本

    win732位系统怎么安装_windows7可以安装python 什么版本win732位系统如何安装pycharm?1.查找安装说明百度找到了PyCharm安装教程(Windows),地址是:https://www.runoob.com/w3cnote/pycharm-windows-install.html按照步骤选择了community社区版的pycharm进行下载安装安装过程中出现如下提示信息:提示信息显示安装pycharm2019.3.1版本…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号