Python网络爬虫与信息提取(二):网络爬虫之提取
生活随笔
收集整理的這篇文章主要介紹了
Python网络爬虫与信息提取(二):网络爬虫之提取
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
此系列筆記來源于
中國大學MOOC-北京理工大學-嵩天老師的Python系列課程
轉載自:http://www.jianshu.com/p/7b950b8a5966
4. Beautiful Soup庫入門
Beautiful Soup庫可對HTML/XML格式進行解析并提取相關信息
- 安裝:管理員方式打開CMD-輸入pip install beautifulsoup4
小測:
獲得鏈接的HTML代碼內容
使用beautifulsoup解析
- Beautiful Soup庫的基本元素
Beautiful Soup庫是解析/遍歷/維護”標簽熟”的功能庫,引用方式:
from bs4 import BeautifulSoup
import bs4
Beautiful Soup庫的4種解析器:
Beautiful Soup類的基本元素:
bs類基本元素
- Tag標簽
任何存在于HTML語法中的標簽都可用**soup.<tag>訪問獲得,存在多個取第一個 - Tag的name
每個<tag>有自己的名字,通過<tag>.name獲取,字符串類型 - Tag的attrs
- Tag的NavigableString
- Tag的Comment
- Tag標簽
- 基于bs4庫的HTML內容遍歷方法
三種遍歷方式
- 下行遍歷
屬性
遍歷
- 上行遍歷
屬性
遍歷
- 平行遍歷
屬性
遍歷
- 下行遍歷
- 基于bs4庫的HTML格式輸出
使用prettify()方法,為HTML文本<>及其內容增加”\n’并且可用于標簽/方法
5.信息組織與提取方法
- 信息標記的三種形式及比較
XML(eXtensible Markup Language)是最早的通用信息標記語言,可擴展性好,但繁瑣;標簽由名字和屬性構成,形式有: <name>...</name> <name /> <!-- -->JSON(JavaScript Objection Notation)適合程序處理,較XML簡潔;有類型的鍵值對,形式有:
"key":"value" "key":["value1","value2"] "key":{"subkey":"subvalue"}YAML(YAML Ain’t Markup Language)文本信息比例最高,可讀性好;無類型的鍵值對,形式有:
key:value key: -value1 -value2 key: subkey:subvalue - 信息提取的一般方法
- 完整解析信息的標記形式再提取關鍵信息,需要標記解析器;優點是解析準確,缺點是提取繁瑣且慢
- 無視標記形式,直接搜索關鍵信息;優點是提取速度快,缺點是準確性與信息內容相關
- 結合兩種方法,需要標記解析器和文本搜索功能
- 基于bs4庫的HTML內容查找方法 <>.find_all(name,attrs,recursive,string,**kwargs)`
由find_all()擴展的七個方法:
擴展方法
6.實例一:中國大學排名爬蟲
步驟1:從網絡上獲取大學排名網頁內容getHTMLText()
步驟2:提取網頁內容中信息到合適的數據結構fillUnivList()
步驟3:利用數據結構展示并輸出結果printUnivLise()
總結
以上是生活随笔為你收集整理的Python网络爬虫与信息提取(二):网络爬虫之提取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python网络爬虫与信息提取(三):网
- 下一篇: python文件读写,以后就用with