Python 网络爬虫笔记3 -- Beautiful Soup库
生活随笔
收集整理的這篇文章主要介紹了
Python 网络爬虫笔记3 -- Beautiful Soup库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python 網絡爬蟲筆記3 – Beautiful Soup庫
Python 網絡爬蟲系列筆記是筆者在學習嵩天老師的《Python網絡爬蟲與信息提取》課程及筆者實踐網絡爬蟲的筆記。
課程鏈接:Python 網絡爬蟲與信息提取
參考文檔:
Requests 官方文檔(英文)
Requests 官方文檔(中文)
Beautiful Soup 官方文檔
re 官方文檔
Scrapy 官方文檔(英文)
Scrapy 官方文檔(中文)
一、Beautiful Soup 庫安裝
介紹: Beautiful Soup庫主要是用來處理使用requests庫獲得的HTML網頁文件
pip 安裝:
pip install beautifulsoup4導入模塊:
from bs4 import BeautifulSoup測試:
import requests from bs4 import BeautifulSoupr = requests.get('https://python123.io/ws/demo.html') demo = r.text soup = BeautifulSoup(demo, 'html.parser') # 以樹形的結構打印HTML文件,Tag元素也可使用prettify()方法 print(soup.prettify()) print(soup.a.prettify())二、Beautiful Soup 庫基礎
1、標簽樹
- 標簽:一對<>及其中間的內容
| Tag | 標簽,最基本的信息組織單元,分別用<>和</>標明開頭和結尾 |
| Name | 標簽的名字,< p >…< /p >的名字是’p’,格式:< tag>.name |
| Attributes | 標簽的屬性,字典形式組織,格式:< tag>.attrs |
| NavigableString | 標簽內非屬性字符串,<>…</>中字符串,格式:< tag>.string |
| Comment | 標簽內字符串的注釋部分,一種特殊的Comment類型。格式:<!-- xxxx – > |
- 標簽樹:不同層級的標簽組成的樹形結構,構成HTML網頁
2、解析器
解析HTML網頁的解析器,自帶解析器為 ‘html.parser’,可以安裝其它解析器。
| bs4的HTML解析器 | BeautifulSoup(mk,‘html.parser’) | bs4庫自帶 |
| lxml的HTML解析器 | BeautifulSoup(mk,‘lxml’) | pip install lxml |
| lxml的XML解析器 | BeautifulSoup(mk,‘xml’) | pip install lxml |
| html5lib的解析器 | BeautifulSoup(mk,‘html5lib’) | pip install html5lib |
三、HTML 內容遍歷
1、下行遍歷
| .contents | 子節點的列表,將所有兒子節點存入列表 |
| .children | 子節點的迭代類型,與.contents類似,用于循環遍歷兒子節點 |
| .descendants | 子孫節點的迭代類型,包含所有子孫節點,用于循環遍歷 |
2、上行遍歷
| .parent | 節點的父親標簽 |
| .parents | 節點先輩標簽的迭代類型,用于循環遍歷先輩節點 |
3、平行遍歷
node: 平行遍歷的對象是同一節點下的平行節點
| .next_sibling | 返回按照HTML文本順序的下一個平行節點標簽 |
| .previous_sibling | 返回按照HTML文本順序的上一個平行節點標簽 |
| .next_siblings | 迭代類型,返回按照HTML文本順序的后續所有平行節點標簽 |
| .previous_siblings | 迭代類型,返回按照HTML文本順序的前續所有平行節點標簽 |
總結
以上是生活随笔為你收集整理的Python 网络爬虫笔记3 -- Beautiful Soup库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 网络爬虫笔记2 -- Re
- 下一篇: Python 网络爬虫笔记4 -- 信息