Python網(wǎng)頁解析器使用實例詳解
python 網(wǎng)頁解析器
1、常見的python網(wǎng)頁解析工具有:re正則匹配、python自帶的html.parser模塊、第三方庫BeautifulSoup(重點學(xué)習(xí))以及l(fā)xm庫。
2、常見網(wǎng)頁解析器分類
(1)模糊匹配 :re正則表達式即為字符串式的模糊匹配模式;
?。?)結(jié)構(gòu)化解析: BeatufiulSoup、html.parser與lxml,他們都以DOM樹結(jié)構(gòu)為標準,進行標簽結(jié)構(gòu)信息的提取。
3.DOM樹解釋:即文檔對象模型(Document Object Model),其樹形標簽結(jié)構(gòu),請見下圖。
所謂結(jié)構(gòu)化解析,就是網(wǎng)頁解析器它會將下載的整個HTML文檔當成一個Doucment對象,然后在利用其上下結(jié)構(gòu)的標簽形式,對這個對象進行上下級的標簽進行遍歷和信息提取操作。
# 引入相關(guān)的包,urllib與bs4,是獲取和解析網(wǎng)頁最常用的庫 from urllib.request import urlopen from bs4 import BeautifulSoup # 打開鏈接 html=urlopen("https://www.datalearner.com/website_navi") # 通過urlopen獲得網(wǎng)頁對象,將其放入BeautifulSoup中,bsObj存放的目標網(wǎng)頁的html文檔 bsObj=BeautifulSoup(html.read()) print(bsObj)
# soup = BeautifulSoup(open(url,'r',encoding = 'utf-8'))
import requests from bs4 import BeautifulSoup headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36','referer':"www.mmjpg.com" } all_url = 'http://www.mmjpg.com/' #'User-Agent':請求方式 #'referer':從哪個鏈接跳轉(zhuǎn)進來的 start_html = requests.get(all_url, headers=headers) #all_url:起始的地址,也就是訪問的第一個頁面 #headers:請求頭,告訴服務(wù)器是誰來了。 #requests.get:一個方法能獲取all_url的頁面內(nèi)容并且返回內(nèi)容。 Soup = BeautifulSoup(start_html.text, 'lxml') #BeautifulSoup:解析頁面 #lxml:解析器 #start_html.text:頁面的內(nèi)容
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python學(xué)習(xí)筆記之函數(shù)的參數(shù)和返回值的使用
這篇文章主要介紹了Python學(xué)習(xí)筆記之函數(shù)的參數(shù)和返回值的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11在python中實現(xiàn)導(dǎo)入一個需要傳參的模塊
這篇文章主要介紹了在python中實現(xiàn)導(dǎo)入一個需要傳參的模塊,具有很好的參考價值,希望可以給大家一個參考,以后在遇到這種的情況的時候,知道如何應(yīng)對2021-05-05TensorFlow深度學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)CNN
這篇文章主要介紹了TensorFlow深度學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)CNN2018-03-03