104學習精靈

前端框架

前端框架
關注
邀請朋友
邀請朋友

Line

Facebook

複製連結

取消
關於教室
關注人數 0 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
關於教室
關注人數 0 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
Hi~ 歡迎分享學習資源,有學習問題可匿名向Giver發問!
我要分享
我要提問

前端框架 學習推薦

全部
影片
文章
Mike Ku

Learn Code With Mike品牌創辦人

2022/01/15

掌握Scrapy框架重要的CSS定位元素方法(下)
Q: Scrapy如何利用CSS方法取得子元素值?
在實務上利用Scrapy框架開發Python網頁爬蟲時,並不是每次想要爬取的網頁元素(Element)都會有CSS樣式類別可以定位,這時候,就會需要透過上層的父元素往下定位子元素。
假設INSIDE硬塞的網路趨勢觀察網站-AI新聞( https://www.inside.com.tw/tag/ai )的文章標題<a>標籤沒有「js-auto_break_title」CSS樣式類別,而想要爬取<a>標籤的文字內容,該如何達成呢?
這時候,就會需要在Scrapy框架中利用CSS樣式類別先定位到<h3>標籤,接著,再取得其下的子元素<a>標籤,如下範例:
import scrapy
class InsideSpider(scrapy.Spider):
name = 'inside'
allowed_domains = ['www.inside.com.tw']
def parse(self, response):
titles = response.css("h3.post_title a::text").getall()
for title in titles:
print(title)
在範例中,利用「post_title」CSS樣式類別定位到<h3>標籤後,接著一個空白,加上<a>標籤,意思就是取得<h3>標籤下的所有<a>標籤,由於要取得其中的文字,所以加上「::text」。
Q: Scrapy如何利用CSS方法取得元素屬性值?
此外,在開發Python網頁爬蟲時,也有機會爬取元素的屬性值(Attribute),舉例來說,最常見的就是<a>標籤的href屬性值(Attribute),也就是文章的連結網址,這時候只需要將「::text」關鍵字,修改為「::attr(屬性名稱)」即可,如下範例:
import scrapy
class InsideSpider(scrapy.Spider):
name = 'inside'
allowed_domains = ['www.inside.com.tw']
def parse(self, response):
urls = response.css("a.js-auto_break_title::attr(href)").getall()
for url in urls:
print(url)
本文與掌握Scrapy框架重要的CSS定位元素方法(上)搭配實際的網站,示範Scrapy框架利用css()方法(Method)來定位網頁元素的基本用法,重點摘要如下:
1.取得單一元素值呼叫get()方法(Method)
2.取得多個元素值呼叫getall()方法(Method)
3.取得文字內容,加上「::text」關鍵字
4.取得屬性值則加上「::attr(屬性名稱)」關鍵字
希望對於想要學習Scrapy框架的朋友有所幫助。
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2021/01/scrapy-css-selectors.html
)網站觀看更多精彩內容。
2 0 324 1

熱門精選

104學習精靈

產品

04/25 15:52

【限量:免費報名】利用AI自動化行銷|直播講座
講座詳細資訊
時間:04/30(二) 20:00 - 21:00
講者:圭話行銷創辦人 何佳勳 / 業界資深的數位廣告行銷專家
主題:行銷新篇章:AI如何革新檔期活動策略
在這個數位化的時代,AI技術正以驚人的速度改變著我們的行銷方式。檔期促銷活動面對的受眾眾多,難以精準定位目標受眾,進而影響活動效果、每次規劃檔期活動都需要創造吸引人的內容和促銷方式,但長期以來,創意卻逐漸耗盡、想要掌握AI如何革新檔期活動策略的最新動向嗎?
你也在苦思如何創造不同以往、有別競品的檔期活動嗎?104學習精靈與緯育TibaMe,攜手邀請到數位廣告界專家 圭話行銷創辦人何佳勳老師。學員們都稱呼他為小圭老師,不僅熱愛與學員社群互動、對學員有問必答,更善於為客戶的製造許多驚喜及營收,一起期待老師分享如何透過 AI 工具提升30%的檔期活動成效吧~
1 0 4177 0
學習精靈

03/15 00:00

148 27
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 176 1
學習精靈

12/11 00:00

0 0

推薦給你

知識貓星球

喵星人

10小時前

Vision Pro銷售慘跌!分析師驚揭3產業慘況
蘋果自詡為「革命性空間運算設備」的 Vision Pro 頭戴式裝置,上市至今已超過一年,卻傳出銷售慘跌的消息。知名蘋果分析師郭明錤指出,Vision Pro在2024年的出貨量預估將下修至40-45台,比原先預估的70-80台減少了30-43%。
【銷售不佳的三大關鍵」】
師郭明錤指出,Vision Pro銷售不佳的原因主要有以下三點:
⓵ 高價難親民
Vision Pro的售價高達3,499美元,相比之下,其他AR和VR頭戴式裝置的價格普遍低於1,000美元。高昂的售價成為Vision Pro的一大銷售障礙。
⓶ 內容匱乏乏人問津
Vision Pro目前可用的內容有限,主要以虛擬會議、3D設計、教育訓練等功能為主。缺乏引人入勝的內容,讓消費者難以找到購買Vision Pro的理由。
⓷ 技術問題添亂
一些使用者反映Vision Pro存在過熱、舒適度不佳等技術問題。這些技術問題降低了Vision Pro的使用者體驗,也影響了其銷售表現。
針對Vision Pro銷售不佳的問題,蘋果採取了以下因應策略:
◉ 降價求生:有傳言指出蘋果正在考慮降低Vision Pro的價格,以提高其競爭力。
◉ 內容加碼搶救:蘋果正在與第三方開發商合作,開發更多Vision Pro的內容。
◉ 技術攻堅解決問題:蘋果正在努力解決Vision Pro的技術問題,以提升使用者體驗。
【Vision Pro的未來命運】
儘管Vision Pro的銷售表現不如預期,但郭明錤仍對其未來發展持樂觀態度。他認為,隨著AR技術的發展,Vision Pro的價格將會越來越便宜,功能也將會越來越強大。未來,AR穿戴式裝置有望成為像智慧型手機一樣普及的電子產品
➤ 立即關注【AI趨勢報-科技愛好者的產地】獲得更多科技新知!
1 0 98 1
你可能感興趣的教室