Python網(wǎng)頁(yè)解析器使用實(shí)例詳解
python 網(wǎng)頁(yè)解析器
1、常見的python網(wǎng)頁(yè)解析工具有:re正則匹配、python自帶的html.parser模塊、第三方庫(kù)BeautifulSoup(重點(diǎn)學(xué)習(xí))以及l(fā)xm庫(kù)。

2、常見網(wǎng)頁(yè)解析器分類
?。?)模糊匹配 :re正則表達(dá)式即為字符串式的模糊匹配模式;
?。?)結(jié)構(gòu)化解析: BeatufiulSoup、html.parser與lxml,他們都以DOM樹結(jié)構(gòu)為標(biāo)準(zhǔn),進(jìn)行標(biāo)簽結(jié)構(gòu)信息的提取。
3.DOM樹解釋:即文檔對(duì)象模型(Document Object Model),其樹形標(biāo)簽結(jié)構(gòu),請(qǐng)見下圖。
所謂結(jié)構(gòu)化解析,就是網(wǎng)頁(yè)解析器它會(huì)將下載的整個(gè)HTML文檔當(dāng)成一個(gè)Doucment對(duì)象,然后在利用其上下結(jié)構(gòu)的標(biāo)簽形式,對(duì)這個(gè)對(duì)象進(jìn)行上下級(jí)的標(biāo)簽進(jìn)行遍歷和信息提取操作。
# 引入相關(guān)的包,urllib與bs4,是獲取和解析網(wǎng)頁(yè)最常用的庫(kù)
from urllib.request import urlopen
from bs4 import BeautifulSoup
# 打開鏈接
html=urlopen("https://www.datalearner.com/website_navi")
# 通過urlopen獲得網(wǎng)頁(yè)對(duì)象,將其放入BeautifulSoup中,bsObj存放的目標(biāo)網(wǎng)頁(yè)的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':請(qǐng)求方式
#'referer':從哪個(gè)鏈接跳轉(zhuǎn)進(jìn)來的
start_html = requests.get(all_url, headers=headers)
#all_url:起始的地址,也就是訪問的第一個(gè)頁(yè)面
#headers:請(qǐng)求頭,告訴服務(wù)器是誰來了。
#requests.get:一個(gè)方法能獲取all_url的頁(yè)面內(nèi)容并且返回內(nèi)容。
Soup = BeautifulSoup(start_html.text, 'lxml')
#BeautifulSoup:解析頁(yè)面
#lxml:解析器
#start_html.text:頁(yè)面的內(nèi)容
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python requests獲取網(wǎng)頁(yè)常用方法解析
- Python爬蟲解析網(wǎng)頁(yè)的4種方式實(shí)例及原理解析
- Python大數(shù)據(jù)之使用lxml庫(kù)解析html網(wǎng)頁(yè)文件示例
- python爬取Ajax動(dòng)態(tài)加載網(wǎng)頁(yè)過程解析
- Python讀取本地文件并解析網(wǎng)頁(yè)元素的方法
- python+django加載靜態(tài)網(wǎng)頁(yè)模板解析
- Python 網(wǎng)頁(yè)解析HTMLParse的實(shí)例詳解
- Python網(wǎng)頁(yè)解析利器BeautifulSoup安裝使用介紹
相關(guān)文章
python讀取并繪制nc數(shù)據(jù)的保姆級(jí)教程
其實(shí)目前很多數(shù)據(jù)以nc格式存儲(chǔ),這篇文章主要給大家介紹了關(guān)于python讀取并繪制nc數(shù)據(jù)的保姆級(jí)教程,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
淺談Django中view對(duì)數(shù)據(jù)庫(kù)的調(diào)用方法
今天小編就為大家分享一篇淺談Django中view對(duì)數(shù)據(jù)庫(kù)的調(diào)用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07
python使用dataframe_image將dataframe表格轉(zhuǎn)為圖片
本文主要介紹了python使用dataframe_image將dataframe表格轉(zhuǎn)為圖片,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01
Python數(shù)據(jù)處理利器Pandas?DataFrame常用操作
這篇文章主要為大家介紹了Python數(shù)據(jù)處理利器Pandas?DataFrame,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
Python正則表達(dá)式高效處理文本數(shù)據(jù)的秘訣輕松掌握
當(dāng)談到文本處理和搜索時(shí),正則表達(dá)式是Python中一個(gè)強(qiáng)大且不可或缺的工具,正則表達(dá)式是一種用于搜索、匹配和處理文本的模式描述語言,可以在大量文本數(shù)據(jù)中快速而靈活地查找、識(shí)別和提取所需的信息,2023-11-11
Python搭建代理IP池實(shí)現(xiàn)接口設(shè)置與整體調(diào)度
這篇文章主要介紹了Python搭建代理IP池實(shí)現(xiàn)接口設(shè)置與整體調(diào)度,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10

