104學習精靈

框架設計

框架設計
關注
邀請朋友
邀請朋友

Line

Facebook

複製連結

取消
「框架設計:負責設計與規劃系統架構,以支持企業的數位轉型與創新需求。主要職責包括制定技術標準、協調跨部門合作及確保架構的可擴展性與穩定性。此職位需具備優秀的溝通技巧及問題解決能力,能有效理解客戶需求並將其轉化為技術實現方案。熟悉當地市場趨勢與技術發展是必須,並具備團隊合作精神以應對快速變化的商業環境。」
關於教室
關注人數 1 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
關於教室
關注人數 1 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
Hi~ 歡迎分享學習資源,有學習問題可匿名向Giver發問!
我要分享
我要提問

框架設計 學習推薦

全部
影片
文章
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 622 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 12347 4
Mike Ku

Learn Code With Mike品牌創辦人

2022/01/19

一定要懂的Scrapy框架結合Gmail寄送爬取資料附件秘訣
本文將爬取的結果存入CSV檔案後,透過Gmail附件郵寄給使用者。在開始之前,大家可以先參考[Python實戰應用]Python寄送Gmail電子郵件實作教學文章( https://www.learncodewithmike.com/2020/02/python-email.html )的第二節步驟,取得Gmail的應用程式密碼,以便能夠利用它的SMTP(簡易郵件傳輸協定)來發送郵件。
Q: Scrapy MailSender結合Gmail發送郵件
在Scrapy網頁爬蟲框架中,想要實作發送電子郵件的功能,可以使用內建的MailSender模組(Module),透過基本的設定即可達成。開啟Scrapy專案的settings.py設定檔,加入以下的Gmail SMTP設定:
MAIL_HOST = "smtp.gmail.com"
MAIL_PORT = 587
MAIL_FROM = "申請Gmail應用程式密碼所使用的電子郵件帳號"
MAIL_PASS = "Gmail應用程式密碼"
MAIL_TLS = True
並且,將[Scrapy教學7]教你Scrapy框架匯出CSV檔案方法提升資料處理效率文章( https://www.learncodewithmike.com/2021/01/scrapy-export-csv-files.html )中所建立的CsvPipeline資料模型管道設定開啟,如下範例:
ITEM_PIPELINES = {
'news_scraper.pipelines.CsvPipeline': 500,
}
設定完成後,開啟ITEM PIPELINE資料模型管道(pipelines.py)檔案,引用Scrapy框架的設定檔及MailSender模組(Module),如下範例:
from itemadapter import ItemAdapter
from news_scraper import settings
from scrapy.mail import MailSender
接著,在CsvPipeline類別(Class)的close_spider()方法(Method)中,來建立Scrapy MailSender物件,以及指定Gmail的附件,包含「附件顯示的名稱(attach_name)」、「網際網路媒體類型(mime_type)」及「檔案物件(file_object)」,如下範例:
class CsvPipeline:
...
def close_spider(self, spider):
self.exporter.finish_exporting()
self.file.close()
mail = MailSender(smtphost=settings.MAIL_HOST,
smtpport=settings.MAIL_PORT,
smtpuser=settings.MAIL_FROM,
smtppass=settings.MAIL_PASS,
smtptls=settings.MAIL_TLS)
attach_name = "posts.csv"
mime_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
file_object = open("posts.csv", "rb")
return mail.send(to=["example@gmail.com"],
subject="news",
body="",
attachs=[(attach_name, mime_type, file_object)])
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike(https://www.learncodewithmike.com/2021/02/scrapy-sending-gmail.html
)網站觀看更多精彩內容。
看更多
2 0 380 0
2 0

推薦給你

緯育TibaMe

18小時前

免費報名📍如何順利進入夢幻電商產業?
#最後一週免費報名 🤔電商人抗壓性都很強?甚麼特質最容易錄取?
重量級前輩來分享🟢綠界大數據總經理 Ken x ⚫小黑老師 邱煜庭
你想知道的電商圈內情報都在這!由兩位業界專家引路,帶你看懂最新產業趨勢、揭開品牌徵才標準, 讓你提早做足準備、進入理想電商職缺。
📍如何順利進入夢幻電商產業?你的電商職涯加速器
直播時間:9/23(二)20:00-21:30
📍精彩內容預告
• 在電商工作是甚麼樣貌、未來發展如何?
• 成為電商圈內人!了解品牌正面臨的挑戰與機會
• 案例分享:如何用數據驅動品牌成長
• 哪些人格特質或履歷經驗最優先錄用?
• 想進電商,現在可以先做的準備
• 《電商成長顧問養成營》獨家優勢介紹
看更多
0 0 138 0
你可能感興趣的教室