Beautiful Soup在爬蟲中的基本使用語法
Beautiful Soup 是什麼
Beautiful Soup是python 的一個HTML 或 XML的解析庫,藉助網頁的結構和屬性特徵來解析網頁,便於使用者抓取資料。
Beautiful Soup能夠自動將輸入的文件轉化為Unicode,輸出的文件轉換為UTF-8,這大大提高了文件提取的效率。
選擇相應資訊
基本用法如下
BeautifulSoup(markup, 'lxml')
from bs4 import BeautifulSoup
import requests
url = 'https://github.com/github'
# 構造一個html文件
r = requests.get(url).text
soup = BeautifulSoup(r, 'lxml')
# prettify 可以把要解析的字串以標準的HTML輸出
print(soup.prettify)
# 輸出HTML中title的內容
print(soup.title.string)
選擇相應的節點,直接使用soup.title/soup.head/soup.p等,即可獲取資訊。需要注意的是soup.p,只能獲取第一個節點的p。
from bs4 import BeautifulSoup
import requests
url = 'https://github.com/github'
# 構造一個html文件
r = requests.get(url).text
soup = BeautifulSoup(r, 'lxml')
# prettify 可以把要解析的字串以標準的HTML輸出
print(soup.prettify)
# 輸出title
print(soup.title)
# 輸出HTML中title文字的值
print(soup.title.string)
# 輸出head
print(soup.head)
# 輸出節點p
print(soup.p)
方法選擇器
面對複雜的網頁結構,採用屬性來選擇比較麻煩,這就需要使用find_all(),find()進行選擇了。
find_all()
它的API如下
find_all(name, attrs, recursive, text, **kwargs)
表示:
name:根據節點名查詢
attrs:通過傳入屬性查詢
text:用來匹配節點的文字
find()的用法與find_all()的用法一樣,區別是fin()返回的是單個元素,find_all()返回的是所有元素。
基本語法:
from bs4 import BeautifulSoup
import requests
url = 'https://github.com/github'
# 構造一個html文件
r = requests.get(url).text
soup = BeautifulSoup(r, 'lxml')
# 根據節點名查詢
print(soup.find_all(name='ul'))
# 通過傳入屬性查詢
print(soup_find_all(attrs={'id': 'list-1'}))
print(soup_find_all(attrs={'name': 'elements'}))
# 用來匹配節點的文字
print(soup.find_all(text=re.compile('link')))
CSS選擇器
如果對CSS選擇器熟悉的話,可以使用select進行選擇。
此文不做說明,更多CSS資訊請檢視這裡。
參考資料
《python3 網路爬蟲開發實戰》 崔慶才著
Change Log
20201201 建立
相關文章
- Python爬蟲學習(11):Beautiful Soup的使用Python爬蟲
- 一起學爬蟲——使用Beautiful Soup爬取網頁爬蟲網頁
- Python Beautiful Soup+requests實現爬蟲Python爬蟲
- 使用 Beautiful Soup 在 Python 中抓取網頁Python網頁
- JB的Python之旅-爬蟲篇--urllib和Beautiful SoupPython爬蟲
- python爬蟲之Beautiful Soup基礎知識+例項Python爬蟲
- 【Python3網路爬蟲開發實戰】4-解析庫的使用-2 使用Beautiful SoupPython爬蟲
- Beautiful Soup學習
- Beautiful Soup庫的使用(學習筆記)筆記
- Python爬蟲之路-chrome在爬蟲中的使用Python爬蟲Chrome
- Beautiful Soup 學習手冊
- Python Beautiful Soup簡介Python
- Python爬蟲之路-selenium在爬蟲中的使用Python爬蟲
- 淺析Beautiful Soup庫和Lxml庫XML
- python爬蟲:XPath語法和使用示例Python爬蟲
- 爬蟲(6) - 網頁資料解析(2) | BeautifulSoup4在爬蟲中的使用爬蟲網頁
- Python網頁抓取工具Beautiful Soup面面觀!Python網頁
- Python爬蟲之XPath語法Python爬蟲
- 爬蟲之CSS語法學習爬蟲CSS
- 基本的爬蟲工作原理爬蟲
- 爬蟲基本原理及urllib庫的基本使用爬蟲
- Python爬蟲(1.爬蟲的基本概念)Python爬蟲
- goto 語法在 PHP 中的使用GoPHP
- 使用 nodejs 寫爬蟲(一): 常用模組和 js 語法NodeJS爬蟲
- Python爬蟲:Xpath語法筆記Python爬蟲筆記
- python 在pycharm中 爬蟲PythonPyCharm爬蟲
- Python爬蟲之Selenium庫的基本使用Python爬蟲
- python 代理在爬蟲中的作用Python爬蟲
- 提高爬蟲爬取效率的辦法爬蟲
- 使用 nodejs 寫爬蟲(-): 常用模組介紹和前置JS語法NodeJS爬蟲
- Python爬蟲基礎講解(七):xpath的語法Python爬蟲
- 使用Go語言實現爬蟲功能Go爬蟲
- zip函式在爬蟲中應用函式爬蟲
- 簡單例子展示爬蟲在不同思想下的寫法單例爬蟲
- 爬蟲需要代理IP的基本要求爬蟲
- 大話爬蟲的基本套路薦爬蟲
- 爬蟲 | 處理cookie的基本方法——session爬蟲CookieSession
- Python 從底層結構聊 Beautiful Soup 4(內建豆瓣最新電影排行榜爬取案例)Python