最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python爬蟲包BeautifulSoup簡介與安裝(一)

 更新時(shí)間:2018年06月17日 08:50:45   作者:SuPhoebe  
這篇文章主要為大家詳細(xì)介紹了Python爬蟲包BeautifulSoup的簡介與安裝,具有一定的參考價(jià)值,感興趣的朋友可以參考一下

先發(fā)官方文檔的地址:官方文檔

學(xué)習(xí)使用的書籍是Python網(wǎng)絡(luò)數(shù)據(jù)采集(Ryan Mitchell著),大約是一些筆記的整理。

Beautiful Soup的簡介

簡單來說,Beautiful Soup是python的一個(gè)庫,最主要的功能是從網(wǎng)頁抓取數(shù)據(jù)。官方解釋如下:

Beautiful Soup提供一些簡單的、python式的函數(shù)用來處理導(dǎo)航、搜索、修改分析樹等功能。它是一個(gè)工具箱,通過解析文檔為用戶提供需要抓取的數(shù)據(jù),因?yàn)楹唵?,所以不需要多少代碼就可以寫出一個(gè)完整的應(yīng)用程序。

Beautiful Soup自動(dòng)將輸入文檔轉(zhuǎn)換為Unicode編碼,輸出文檔轉(zhuǎn)換為utf-8編碼。你不需要考慮編碼方式,除非文檔沒有指定一個(gè)編碼方式,這時(shí),Beautiful Soup就不能自動(dòng)識(shí)別編碼方式了。然后,你僅僅需要說明一下原始編碼方式就可以了。
Beautiful Soup已成為和lxml、html6lib一樣出色的python解釋器,為用戶靈活地提供不同的解析策略或強(qiáng)勁的速度。

安裝

Beautiful Soup 3 目前已經(jīng)停止開發(fā),推薦在現(xiàn)在的項(xiàng)目中使用Beautiful Soup 4,不過它已經(jīng)被移植到BS4了,也就是說導(dǎo)入時(shí)我們需要 import bs4 。所以這里我們用的版本是 Beautiful Soup 4.3.2 (簡稱BS4)。

書本中的源代碼用的是Python3,但是據(jù)說 BS4 對(duì) Python3 的支持不夠好,所以我用的是 Python2.7。源碼中也會(huì)相應(yīng)地調(diào)整一些包的引入。

因?yàn)橹皩戇^CNN等,需要在windows下配置環(huán)境,所以已經(jīng)安裝了anaconda。如果安裝了anaconda的讀者,可以直接使用pip安裝,conda需要搜索一下,直接安裝時(shí)不行的。

anaconda search -t conda beautifulsoup
conda install beautifulsoup4
pip install beautifulsoup4

如果想安裝最新的版本,請(qǐng)直接下載安裝包來手動(dòng)安裝,也是十分方便的方法。在這里我安裝的是 beautifulsoup4 (4.5.1)

BeautifulSoup 3.2.1

BeautifulSoup 4.5.1

下載完成之后解壓

運(yùn)行下面的命令即可完成安裝

sudo python setup.py install

有時(shí)候的安裝方式會(huì)需手動(dòng)安裝 lxml,如果用conda安裝會(huì)自動(dòng)把依賴包給安裝上。

pip install lxml

創(chuàng)建 Beautiful Soup 對(duì)象

首先導(dǎo)入bs4庫

from bs4 import BeautifulSoup

用urlopen讀取一段HTML的內(nèi)容

import sys
if sys.version_info[0] == 2:
  from urllib2 import urlopen # Python 2
else:
  from urllib.request import urlopen # Python3

html = urlopen(http://www.pythonscraping.com/exercises/exercise1.html)

用讀取的內(nèi)容創(chuàng)建beautifulsoup 對(duì)象

bsObj = BeautifulSoup(html.read())
print(bsObj.h1)

此外我們也可以用本地的HTML文件來創(chuàng)建對(duì)象,例如

soup = BeautifulSoup(open('index.html'))

輸出測試

print bsObj.h1
print bsObj.prettify()

<h1>An Interesting Title</h1>

<html>
 <head>
 <title>
  A Useful Page
 </title>
 </head>
 <body>
 <h1>
  An Interesting Title
 </h1>
 <div>
  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
 </div>
 </body>
</html>

以上便是輸出結(jié)果,格式化打印出了它的內(nèi)容,并且可以通過成員對(duì)象的方式獲得解析后的HTML層次。

以上全部為本篇文章的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python如何制作英文字典

    python如何制作英文字典

    這篇文章主要為大家詳細(xì)介紹了python如何制作英文字典,添加單詞的意思,查詢,退出,建立單詞文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 十分鐘利用Python制作屬于你自己的個(gè)性logo

    十分鐘利用Python制作屬于你自己的個(gè)性logo

    這篇文章主要給大家介紹了關(guān)于十分鐘如何利用Python制作屬于你自己的個(gè)性logo的相關(guān)資料,主要利用的是詞云實(shí)現(xiàn)這個(gè)效果,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來一起看看吧
    2018-05-05
  • 詳解python定時(shí)簡單爬取網(wǎng)頁新聞存入數(shù)據(jù)庫并發(fā)送郵件

    詳解python定時(shí)簡單爬取網(wǎng)頁新聞存入數(shù)據(jù)庫并發(fā)送郵件

    這篇文章主要介紹了python定時(shí)簡單爬取網(wǎng)頁新聞存入數(shù)據(jù)庫并發(fā)送郵件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Pytorch中的backward()多個(gè)loss函數(shù)用法

    Pytorch中的backward()多個(gè)loss函數(shù)用法

    這篇文章主要介紹了Pytorch中的backward()多個(gè)loss函數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python爬蟲之利用selenium模塊自動(dòng)登錄CSDN

    python爬蟲之利用selenium模塊自動(dòng)登錄CSDN

    這篇文章主要介紹了python爬蟲之利用selenium模塊自動(dòng)登錄CSDN,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-04-04
  • 使用coverage統(tǒng)計(jì)python web項(xiàng)目代碼覆蓋率的方法詳解

    使用coverage統(tǒng)計(jì)python web項(xiàng)目代碼覆蓋率的方法詳解

    這篇文章主要介紹了使用coverage統(tǒng)計(jì)python web項(xiàng)目代碼覆蓋率的方法,詳細(xì)分析了coverage的安裝以及coverage命令統(tǒng)計(jì)py文件相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • 解決Django數(shù)據(jù)庫makemigrations有變化但是migrate時(shí)未變動(dòng)問題

    解決Django數(shù)據(jù)庫makemigrations有變化但是migrate時(shí)未變動(dòng)問題

    今天小編就為大家分享一篇解決Django數(shù)據(jù)庫makemigrations有變化但是migrate時(shí)未變動(dòng)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python中數(shù)字(Number)數(shù)據(jù)類型常用操作

    Python中數(shù)字(Number)數(shù)據(jù)類型常用操作

    本文主要介紹了Python中數(shù)字(Number)數(shù)據(jù)類型常用操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Pycharm 跳轉(zhuǎn)回之前所在頁面的操作

    Pycharm 跳轉(zhuǎn)回之前所在頁面的操作

    這篇文章主要介紹了Pycharm 跳轉(zhuǎn)回之前所在頁面的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • python 實(shí)現(xiàn)將文件或文件夾用相對(duì)路徑打包為 tar.gz 文件的方法

    python 實(shí)現(xiàn)將文件或文件夾用相對(duì)路徑打包為 tar.gz 文件的方法

    今天小編就為大家分享一篇python 實(shí)現(xiàn)將文件或文件夾用相對(duì)路徑打包為 tar.gz 文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06

最新評(píng)論

莒南县| 敦化市| 台中县| 尼勒克县| 观塘区| 济宁市| 玛沁县| 宁武县| 武宁县| 河西区| 灯塔市| 南安市| 梧州市| 佛冈县| 河源市| 林芝县| 长治县| 乌鲁木齐县| 玛曲县| 同仁县| 昭通市| 垫江县| 江安县| 枝江市| 吴川市| 胶南市| 定襄县| 门头沟区| 潼关县| 安顺市| 鄂州市| 孙吴县| 宣化县| 腾冲县| 无为县| 健康| 通许县| 任丘市| 綦江县| 漠河县| 雅江县|