104學習精靈

XML

XML
關注
邀請朋友
邀請朋友

Line

Facebook

複製連結

取消
XML(eXtensible Markup Language,簡稱XML)可擴展置標語言。又稱可擴展標記語言,是一種置標語言。 置標指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種信息的文章等。如何定義這些標記,既可以選擇國際通用的標記語言,比如HTML,也可以使用像XML這樣由相關人士自由決定的標記語言,這就是語言的可擴展性。 XML是從標準通用置標語言(SGML)中簡化修改出來的。它主要用到的有可擴展置標語言、可擴展樣式語言(XSL)、XBRL和XPath等。 XML設計目的用來傳送及攜帶數據信息,XML不用來表現或展示數據,HTML語言恰恰用來表現數據,所以XML用途的焦點是它說明數據是什麼,以及攜帶數據信息。
關於教室
關注人數 5 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
關於教室
關注人數 5 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
Hi~ 歡迎分享學習資源,有學習問題可匿名向Giver發問!
我要分享
我要提問

XML 學習推薦

全部
影片
文章

不知如何開始嗎? 先進行技能挑戰吧~

技能挑戰:初級
目前等級:未達初級
102 人已通過「初級」測驗,通過率49%,和學習精靈一起探索知識、增強能力!
我要挑戰
Mike Ku

Learn Code With Mike品牌創辦人

2021/10/14

開發Python網頁爬蟲前需要知道的五個基本觀念
Q: 什麼是網頁爬蟲?
網頁爬蟲可以把它想像成是一種網頁機器人,能夠依照特定的模式或規則,自動化擷取網頁原始碼,來進行解析取得資料,所以被大量的應用在網頁資料蒐集。
當然網頁爬蟲部一定只能使用Python來進行實作,其它像Java、C#及JavaScript等程式語言也可以,而因為Python語法簡潔及擁有許多成熟的套件與框架,所以筆者選擇Python來開發網頁爬蟲。
Q: 網路是如何運作方式呢?
Python網頁爬蟲事實上就是模擬使用者來瀏覽網頁,這時候就需要瞭解網路的基本架構,分為用戶端(Client)及伺服端(Server)。
其中,用戶端(Client)就是使用者瀏覽網頁的裝置(例:本機電腦),當使用者點擊網頁時,也就代表請求(Request)的動作,存取該網頁連結的伺服端(Server),而伺服端(Server)接收連結得知使用者所要看的網頁後,將內容回應(Response)給用戶端(Client)。
這樣的網路運作方式就跟點餐的流程非常相似,當我們進到一間餐廳看著菜單,就像到一個網站瀏覽其中的網頁,接著,到櫃檯向老闆點餐的動作就像是看到喜歡的網頁,請求(Request)伺服端(Server)想看的網頁,最後,等待老闆烹飪完成送到餐桌上,像是伺服端(Server)端處理完成回應(Response)給使用者。
Q: 網頁的基本結構是什麼?
網頁是由許多的標籤(Tag)與元素(Elements)組成,並且具有階層式的結構,所以Python網頁爬蟲就需要透過定位,來取得所需的元素(Elements)。
Q: 常見的Python網頁爬蟲套件及框架
常見的Python網頁爬蟲套件及框架包含BeautifulSoup、Selenium及Scrapy。
BeautifulSoup對於HTML及XML的解析非常友善,並且容易入門使用,適用於靜態類型的網頁及小型的Python網頁爬蟲專案。
Selenium同時擁有網頁自動化測試及爬取功能,能夠搭配 JavaScript來進行爬取,所以非常適用於爬取需要滾動捲軸來動態載入資料的網站,像是電子商務或社群平台等。
Scrapy相較於BeautifulSoup及Selenium爬取速度較快且有效率,擁有非同步的功能,所以適用於爬取大量的資料及大型網頁爬蟲專案。
Q: Python網頁爬蟲有沒有標準的開發流程?
開發Python網頁爬蟲的流程,首先,會需要知道想要蒐集什麼樣的資料來進行分析或應用,接著,就可以尋找相關的網站,來分析要爬取的網頁原始碼結構,並且觀察是否有規則或模式可循,然後,選擇程式語言及適當的套件,依照分析的網頁結構及規則開發網頁爬蟲,最後,將爬取的資料依需求寫入資料庫、CSV檔案或雲端等。
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/10/python-web-scraping.html )網站觀看更多精彩內容。
2 0 1217 1
學習精靈

07/19 00:00

98 4
Mike Ku

Learn Code With Mike品牌創辦人

2021/10/13

三大Python網頁爬蟲實作工具的比較
Q: Python有哪些常見的網頁爬蟲工具呢?
要實作Python網頁爬蟲,最受歡迎的三大工具莫過於BeautifulSoup、Selenium及Scrapy,其中各自的主要特色以及使用時機,接下來就來為大家進行簡單的分享與比較。
BeautifulSoup是一個擷取HTML/XML內容的套件,提供了非常多友善的方法(Method),協助開發人員可以快速搜尋及取得HTML/XML中的元素,也因此被廣泛的應用在Python網頁爬蟲的技術上。
但是它並無法單獨完整實現Python網頁爬蟲的整個流程,像是發送請求與解析下載的HTML原始碼,所以需要requests及html.parser或lxml解析器等相依性模組來協助。
Selenium是一個網頁自動化測試的套件,擁有許多網頁操作的方法(Method),像是自動化輸入資料、點擊按鈕及滾動捲軸等,同時具備網頁元素擷取與操作的功能,讓開發人員能夠輕鬆撰寫網頁的自動化測試腳本。
Scrapy本身就是一個網頁爬蟲框架,提供完整的網頁爬蟲開發功能,像是發送請求、檔案匯出、例外處理機制、偵錯(Debug)等,並且是基於Twisted非同步網路框架所建立的,所以能夠非同步的發送請求(Request),有較佳的執行速度,學習曲線也較高。
另外,由於Scrapy是一個框架,所以有一定的專案架構及執行流程,除了未來很好維護外,也能夠輕鬆的移轉既有的專案到另一個專案。
Q: BeautifulSoup、Selenium及Scrapy各有什特色?
BeautifulSoup學習曲線較低,非常容易上手,並且適用於靜態網頁的爬取。
而Selenium能夠輕鬆與JavaScript的事件合作,可以處理網頁的AJAX請求及自動化操作網頁上的元素。
Scrapy執行速度較快,允許客製化功能來進行擴充,內建多種檔案格式輸出(JSON、XML、CSV),支援XPath及CSS表達式來擷取資料,擁有完善的互動式偵錯工具(Scrapy Shell)。
Q: BeautifulSoup、Selenium及Scrapy的使用時機?
對於初學者想要學習入門Python網頁爬蟲,或是僅針對特定少數網頁進行爬取的小型專案,就可以選擇BeautifulSoup套件。
當所要爬取的網頁有使用JavaScript / AJAX等動態載入資料的技術,或是具有登入驗證、搜尋機制的網頁,就能夠利用Selenium套件的網頁操作方法(Method),來開發Python網頁爬蟲。
Scrapy則適用於大型的Python網頁爬蟲專案,有一定的效率要求及需要處理複雜的爬取邏輯。
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/11/beautifulsoup-vs-selenium-vs-scrapy-for-python-web-scraping.html )網站觀看更多精彩內容。
4 0 1111 2
學習精靈

07/02 00:00

36 0

推薦給你

知識貓星球

喵星人

12/12 13:49

Google發表:Gemini 2.0 全新AI模組介紹、四大亮點一次看
在ChatGPT傳出全球大當機災情的同一天,Google 發布了全新 AI 模型 Gemini 2.0。
不僅支援多模態物件,Gemini 2.0採用更精準、強大的代理式AI系統,幫助使用者主動提前思考並完善指令,打造更符合使用者需求的全方位AI人工智慧助理!
▍Gemini 2.0 亮點搶先看
※ 深度學習有效處理複雜問題:採用「深度研究」學習技術功能,大量運用高級推理和長上下文功能充當研究助理,探索複雜的主題並代表使用者編寫報告。
※ 多模態能力生成準確內容: 除了文字生成外,Gemini 2.0 還能直接生成圖片和音訊,並且能有效處理口音問題轉化成更準確的訊息內容。
※ 實現代理式 AI 的多元運用: 不只是AI助理,Gemini 2.0升級的代理式AI系統,能更主動的做出決策,為使用者提前思考,並在使用者的監督下執行任務。Gemini 2.0將以此為基石,使用在Project Astra助理工具與其他開發者工具中。
※ 活化並整合 Google 產品: Gemini 2.0 將逐步整合到 Google 的搜尋、地圖等產品中,為使用者帶來更智能、更個人化的體驗。
Gemini 2.0預計2025年1月正式推出,在此之前,使用者們可以透過Google AI Studio網站搶先體驗Gemini 2.0測試版的與眾不同。
➤ 立即試用:
➤ 歡迎在104學習精靈關注【AI趨勢報-科技愛好者的產地】獲得更多科技新知!
0 0 2110 1
你可能感興趣的教室