104學習精靈

XPath

XPath
關注
邀請朋友
邀請朋友

Line

Facebook

複製連結

取消
.XPath:此角色主要負責設計與實施XPath查詢,以支持數據萃取及信息檢索,旨在提升商業數據的分析能力與決策效率。需具備扎實的XML及XSLT知識,熟悉數據庫操作及網頁爬蟲技術,並能夠跨部門合作,確保符合業務需求。具備良好的溝通技巧,以促進與IT及產品團隊之間的協調,因應台灣職場普遍重視團隊合作與效率的文化背景,強調靈活應變及問題解決能力,以應對快速變化的商業環境。
關於教室
關注人數 0 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
關於教室
關注人數 0 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
Hi~ 歡迎分享學習資源,有學習問題可匿名向Giver發問!
我要分享
我要提問

XPath 學習推薦

全部
影片
文章
Mike Ku

Learn Code With Mike品牌創辦人

2022/01/21

不可不知的Scrapy框架爬取下一層網頁資料實作
本文以INSIDE硬塞的網路趨勢觀察網站( https://www.inside.com.tw/ )首頁的熱門文章為例,來和大家分享如何在Scrapy框架中爬取下一層的網頁內容。
Q: Scrapy網頁爬蟲爬取下一層網頁內容
建立Scrapy網頁爬蟲檔案(hot_news.py),在parse()方法(Method)的地方,透過Scrapy框架的xpath()方法(Method),來爬取INSIDE硬塞的網路趨勢觀察網站的所有熱門文章下一層網頁網址,如下範例:
import scrapy
class HotNewsSpider(scrapy.Spider):
name = 'hot_news'
allowed_domains = ['www.inside.com.tw']
def parse(self, response):
post_urls = response.xpath(
"//a[@class='hero_menu_link']/@href").getall()
詳細的Scrapy xpath定位元素方法教學可以參考[Scrapy教學5]掌握Scrapy框架重要的XPath定位元素方法文章( https://www.learncodewithmike.com/2021/01/scrapy-xpath-selectors.html )。取得了所有熱門文章的下一層網頁網址後,就可以透過迴圈來進行請求,如下範例:
import scrapy
class HotNewsSpider(scrapy.Spider):
name = 'hot_news'
allowed_domains = ['www.inside.com.tw']
def parse(self, response):
post_urls = response.xpath(
"//a[@class='hero_menu_link']/@href").getall()
for post_url in post_urls:
yield scrapy.Request(post_url, self.parse_content)
其中Request方法(Method)的第一個參數,就是「請求網址」,也就是熱門文章的下一層網頁網址,而第二個參數就是請求該網址後,所要執行的方法(Method),而parse_content()方法(Method)中,就是來爬取熱門文章的下一層網頁內容,以本文為例就是包含「文章標題」及「文章摘要」。
接著,就可以在parse_content()方法(Method)中,同樣使用Scrapy框架的xpath()方法(Method),來爬取「文章標題」及「文章摘要」,如下範例:
import scrapy
class HotNewsSpider(scrapy.Spider):
...
def parse_content(self, response):
# 熱門文章標題
hot_news_title = response.xpath(
"//h1[@class='post_header_title js-auto_break_title']/text()").get()
# 熱門文章摘要
hot_news_intro = response.xpath(
"//div[@class='post_introduction']/text()").get()
print(f"熱門文章標題:{hot_news_title},\n熱門文章摘要:{hot_news_intro}")
利用以下的指令執行Scrapy網頁爬蟲:
$ scrapy crawl hot_news
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike(https://www.learncodewithmike.com/2021/02/scrapy-follow-links-and-collect-data.html
)網站觀看更多精彩內容。
看更多
2 0 621 0

熱門精選

104學習

產品

09/11 14:57

轉職首選!3 週從零到上手的數據分析師養成營 —— 104人力銀行 × 104學習 × 緯育 TibaMe 聯合推出
想跨入高薪、有前景,又能左右商業決策的數據分析師職涯,但擔心自己沒有程式背景、時間不夠嗎?
這堂【數據分析師學習營】或許是你理想的起點。
✨ 首次跨界合作,更強大資源整合✨
這次由 104學習精靈 首度攜手 緯育 TibaMe 聯合打造。
⚡104人力銀行 × 104學習精靈:深耕職涯數據多年,最了解台灣企業用人需求,課程更貼近市場實際職缺。
⚡緯育 TibaMe:累積多年產業培訓經驗,專注於 IT、數據、AI 等熱門技能轉職養成,培訓模式完整,輔導成效有口碑。
這樣的合作,讓學員享有真實的培訓經驗,學習效果與轉職落地率都更具保障。
課程亮點一次看
🔥3 週密集實戰:短短三週密集訓練,快速掌握職場必備技能,不必耗費半年、一年時間啃課表。
🔥零基礎設計:無需工程背景,也不用寫程式,由淺入深帶你學會資料庫查詢(SQL)與數據視覺化工具 Power BI。
🔥實戰作品累績履歷實力:課程設計強調實務操作,結訓不僅懂工具,更手上有完成的作品,讓履歷直接升級。
🔥專屬平台與支援:透過共學社群與專業助教協助,學習不再孤單。
為什麼你該報名?
🟢快速起步,快速看成果:三週聚焦提速進展,是在職或時間有限者的最佳選擇。
🟢具備市場需求核心技能:SQL 與 Power BI,完全符合企業當前的數據分析需求。
🟢履歷實力落地具體化:實作作品比起只學理論更能打動雇主眼光。
🟢104 × 緯育 TibaMe 強強聯手:把資源與專業結合,讓學習不只停留在課程,而是直通「就業」與「轉職」。
👉 立即報名,搶先卡位:超小班就50位唷!
👉 刷中信/台新/玉山可享3期0利率!
👉 超早鳥優惠領$850券報名到9/24唷!
👉 前10名解鎖送500元Line點數,第11名起送200元Line點數,更多驚喜組合購,可再額外送100元Line點數
看更多
3 0 10845 4
學習精靈

02/28 00:00

6 0
Mike Ku

Learn Code With Mike品牌創辦人

2022/01/15

掌握Scrapy框架重要的CSS定位元素方法(上)
想要開發Python網頁爬蟲的朋友,都會知道定位元素(Element)是一個非常重要的動作,Scrapy框架本身就有提供自己的定位元素(Element)方法(Method),包含CSS與XPath兩種,本文就以INSIDE硬塞的網路趨勢觀察網站-AI新聞( https://www.inside.com.tw/tag/ai )為例,先來和大家分享在Scrapy框架中,如何利用CSS的定位元素(Element)方法(Method),爬取想要的網頁內容。
Q: Scrapy如何利用CSS方法取得單一元素值?
CSS(Cascading Style Sheets)階層樣式表相信大家都不陌生,可以自訂樣式的類別來裝飾網頁,像是字體顏色、粗體等,所以在利用Scrapy框架開發網頁爬蟲時,也就能夠利用CSS樣式類別,來定位想要爬取的網頁元素(Element)。
前往INSIDE硬塞的網路趨勢觀察網站-AI新聞,在文章標題的地方,點擊滑鼠右鍵,選擇檢查,可以看到它的CSS樣式類別。假設想要在Scrapy框架中,利用CSS樣式類別來取得網頁的單一元素值,也就是單一文章的標題,就可以在spiders/inside.py的parse()方法(Method)中,使用css()方法(Method)來定位單一元素(Element),如下範例:
import scrapy
class InsideSpider(scrapy.Spider):
name = 'inside'
allowed_domains = ['www.inside.com.tw']
def parse(self, response):
title = response.css("a.js-auto_break_title::text").get()
print(title)
接著,利用以下的指令執行inside網頁爬蟲:
$ scrapy crawl inside
以上範例,response就是Scrapy框架請求後的回應結果,接著,呼叫css()方法,傳入所要定位的HTML標籤<a>,點的後面加上它的CSS樣式類別,由於要取得元素(Element)的文字,所以在加上「::text」關鍵字,最後,呼get()方法(Method)取得單一元素(Element)。
Q: Scrapy如何利用CSS方法取得多個元素值?
而在Scrapy框架中,想要爬取網頁多個元素值,則呼叫getall()方法(Method)即可,如下範例:
import scrapy
class InsideSpider(scrapy.Spider):
name = 'inside'
allowed_domains = ['www.inside.com.tw']
def parse(self, response):
titles = response.css("a.js-auto_break_title::text").getall()
print(titles)
可以看到getall()方法(Method)回傳的是一個串列(List),包含了所有樣式類別為「js-auto_break_title」的<a>標籤文字,接下來,利用迴圈即可取得其中的文章標題,如下範例:
import scrapy
class InsideSpider(scrapy.Spider):
name = 'inside'
allowed_domains = ['www.inside.com.tw']
def parse(self, response):
titles = response.css("a.js-auto_break_title::text").getall()
for title in titles:
print(title)
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2021/01/scrapy-css-selectors.html
)網站觀看更多精彩內容。
看更多
2 0 184 0
學習精靈

10/13 00:00

1 0

推薦給你

104學習

產品

09/15 14:38

「環境部淨零綠領人才培育課程」首次測驗今登場 逾千名考生應試 到考率超過96%
「環境部淨零綠領人才培育課程」首場集中測驗今天在全國14個考區同步舉行,約1,400名完成48小時專業課程的學員參加測驗,到考率超過96%。凡是30歲以下在學生(不含在職專班者)及低(中低)收入戶,測驗及格者可申請學費優惠。環境部部長彭啓明為鼓勵這些通過測驗的綠領人才成為推動國家淨零轉型的生力軍,後續將擇優選出20名成績優異者,規劃於行政院大禮堂舉辦合格證明頒發典禮,以表示對於綠領人才的尊重並彰顯其榮譽。
-
主辦本次測驗的國家環境研究院(國環院)表示,參加本次測驗的學員,男女比例約為1比1,平均年齡為33歲,最年輕的學員年齡僅17歲,最年長者為69歲。而社會人士占五成多,略高於在學學生的四成多;三成具研究所以上學歷,兩成為文法商等跨領域背景,顯示各年齡層及不同專業領域對綠色轉型專業知能的高度需求。
-
國環院又指出,學員職業背景相當多元,除了大專院校在學生,也有來自各行各業的專業人士,包括上市櫃公司主管、會計師、資訊工程師與環工技師,甚至還有美髮業者與電影剪接師參與,充分展現綠領課程已成為跨領域專業人才進修與轉型的重要管道。
-
本次測驗採筆試方式,測驗後15個工作天內,國環院將寄發電子成績單,及格者同時可獲環境部核發的官方合格證明,請學員務必留意信件收取。國環院提醒,凡30歲以下大專院校在學生(不含在職專班),只要首次測驗及格即可申請新臺幣6,000元半額補助;符合中低收入戶、低收入戶或身心障礙身分者,則可申請新臺幣12,000元全額補助。學員取得成績單後,可逕向原開班學校申請學費減免事宜。
-
國環院強調,課程將持續開班招生,有興趣者可至「綠領人才資訊平臺」就近報名:https://ulvis.net/iTs8
下一場集中測驗訂於11月22日舉行,並將增設南投與離島考區,便利更多學員參與。
-
立即報名「環境部淨零綠領人才培育課程」:
看更多
0 0 952 0
你可能感興趣的教室