Slide 1

Slide 1 text

開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 游騰林(tlyu0419) 2022-07-31

Slide 2

Slide 2 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 Facebook-crawler 套件介紹 2 • Github: TLYu0419/facebook_crawler • Publish Date: 2021-06-14 • Stars: 161 / Forks: 30 簡單 高效 免登入

Slide 3

Slide 3 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 其他 Facebook 的爬蟲專案 設定滾動的次數,達成後結束任務 特色1: 簡單 3 指定次數容易會抓不夠 / 抓超過 而兩者都會浪費你的時間! Facebook-Crawler 的解方 指定日期判斷是否跳脫迴圈或繼續爬蟲 V.S.

Slide 4

Slide 4 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 特色2: 高效 4 請求的 API 夾帶了極複雜的參數 其他 Facebook 的爬蟲專案 實際打開一個瀏覽器向伺服器請求資料 在一個頁面中載入上萬則貼文 伺服器 / 本機都會出現無回應 Facebook-Crawler 的解方 使用 Graphql API 直接 request 資料 V.S.

Slide 5

Slide 5 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 特色3: 免登入 5 有些貼文需要經過帳號認證, 評估開發登入模組讓使用者選擇性使用 其他 Facebook 的爬蟲專案 (部分)要求使用者輸入帳號取得 token Facebook-Crawler 的解方 通過無痕模式開發、和伺服器互動 V.S.

Slide 6

Slide 6 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 Facebook-crawler 使用方式 6 設定爬取粉絲專頁網址 設定跳脫迴圈的日期

Slide 7

Slide 7 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 Facebook-crawler 使用方式 7

Slide 8

Slide 8 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 0.0.29 會新增哪些功能? 8

Slide 9

Slide 9 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 自動收集更多粉絲頁 9

Slide 10

Slide 10 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 自動收集更多粉絲頁 10

Slide 11

Slide 11 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 自動收集更多粉絲頁 11 測試時以 30 個粉絲頁作為種子頁面, 經過 10 輪擴展後最終收集到 13 萬筆推薦資料

Slide 12

Slide 12 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 粉絲頁的基本資訊 12

Slide 13

Slide 13 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 粉絲頁的基本資訊 13

Slide 14

Slide 14 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 游騰林 國泰世華銀行 | 數據部 | 資料科學家 Email: [email protected] Facebook: https://www.facebook.com/tlyu0419 SpeakerDeck: https://speakerdeck.com/tlyu0419 Github: https://github.com/TLYu0419/facebook_crawler 14

Slide 15

Slide 15 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 回到正題 為什麼需要分享怎麼經營開源套件? 15

Slide 16

Slide 16 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 「要求使用者付費! 熱門函式庫作者搞破壞殃及數千專案」 16 原本以為是駭客攻擊事件,但追查發現兇手正是函式庫作者本人 2022-01-11

Slide 17

Slide 17 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 Marak 遇到的困境 17 Ref: marak.com/blog/2021-04-25-monetizing-open-source-is-problematic Marak faker fakercloud.com 開發

Slide 18

Slide 18 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 Marak 遇到的困境 18 Marak faker fakercloud.com Retool.com 開發 Fork / 使用 販售 Company B Company C Company A Note: 這是 Marak 的視角 Ref: marak.com/blog/2021-04-25-monetizing-open-source-is-problematic

Slide 19

Slide 19 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 開發者會從開源專案獲得報酬嗎? 19 調查結果: 46%的人完全沒有報酬,59% 曾經 / 考慮放棄維護一個專案 Ref: 調查:46% 的開源專案維護者根本沒有獲得報酬

Slide 20

Slide 20 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 專案到底應該開源嗎? 20 Ref: 开源的恶果,程序员正在「自掘坟墓」 開源是技術人的自媒體 ✓ 開源幫產業創造了更大的蛋糕, 但是開源者並沒有分到蛋糕 ✓ 因為開源專案降低了行業門檻, 反而會吸引更多人來瓜分蛋糕 ✓ 因為人變多,最終還會導致自 己被競爭下去了 正方觀點 反方觀點 ✓ 展現技術能力 ✓ 打造了技術影響力(聲望) ✓ 聲望幫開發者找到更好的工作 開源是在自掘墳墓

Slide 21

Slide 21 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 只用熱情經營開源專案 既不切實際也並不長遠 21

Slide 22

Slide 22 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 22 自 我 提 升 幫 助 社 會 程式開發 問題拆解 發表專案 社會議題 將程式依功能區分成不同模組, 增加程式的可讀性與降低維護成本 學會做各種假設和測試, 拆解和排除請求失敗的原因 將開源專案投稿至期刊 / 研討會, 協助產、學界解決問題 將專案用在社會公益組織,協助 解決社會問題(e.g. D4SG) 開 源 專 案 的 經營理念

Slide 23

Slide 23 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 23 自 我 提 升 幫 助 社 會 商 業 化 程式開發 問題拆解 發表專案 社會議題 商業思維 獲利方式 將程式依功能區分成不同模組, 增加程式的可讀性與降低維護成本 學會做各種假設和測試, 拆解和排除請求失敗的原因 將開源專案投稿至期刊 / 研討會, 協助產、學界解決問題 將專案用在社會公益組織,協助 解決社會問題(e.g. D4SG) 思考專案在市場的價值 到底幫 誰 解決了 什麼 問題 評估可行的獲利方式, 讓市場幫助你維護這個專案 開 源 專 案 的 經營理念

Slide 24

Slide 24 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 程式開發 根據客戶需求 開發和提供程式 提供服務 完成客戶指定的需求 (本質上就是服務業) 開源專案的商業化方式 24 開設課程 於線上/下開設課程 擔任講師收取講師費 擔任顧問 分享知識與技術 提供專業的建議

Slide 25

Slide 25 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 程式開發 根據客戶需求 開發和提供程式 提供服務 完成客戶指定的需求 (本質上就是服務業) 開源專案的商業化方式 25 Donate 的貢獻小到可以忽略不計 開設課程 於線上/下開設課程 擔任講師收取講師費 擔任顧問 分享知識與技術 提供專業的建議

Slide 26

Slide 26 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 提供服務 26 •商機 爬蟲程式需要花費人力開發 / 維護 •獲利方式 一次性服務 / 長期訂閱方案 •注意事項 • 初期要自己主動出擊才會有客戶 • 需具備溝通能力跟客戶討論需求 • 累積到一定客戶數量才會有效益 範例: InfoMiner 即時輿情分析平台

Slide 27

Slide 27 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 程式開發 27 範例: AnkiMobile Flashcards •商機 開發客戶需要的程式供客戶使用 •獲利方式 下載 / 升級軟體 / 放置廣告 •注意事項 • 前期的開發成本較高,需有不同領 域的專家協助(UI/UX, 前/後端…) • 需留意潛藏的後續維護成本

Slide 28

Slide 28 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 開設課程 28 範例: Hahow 與老師的分潤機制 •商機 將專業領域的知識/經驗轉為課程 •獲利方式 於線上 / 線下渠道 或 企業販售課程 •注意事項 • 前期的企劃與製作成本非常高 • 需累積一定粉絲規模才較容易銷售 • 專業性 v.s. 需求性的取捨 • 技術型產品迭代速度非常快(?

Slide 29

Slide 29 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 擔任顧問 29 範例: 提供付費咨詢服務 – 知乎 •商機 提供專業經驗 / 知識幫客戶節省時間 •獲利方式 依時數 / 案件向客戶收費 •注意事項 • 除技術外還要有豐富的實務經驗 • 需花心思培養和客戶間的信任感 • 起步門檻非常高!

Slide 30

Slide 30 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 總結 30 經營開源專案不是一次性的提交程式 會需要長期性投入時間與心力的過程 商業化可以幫助你持續投入專案 而關鍵在於你幫助 誰 解決 什麼 問題 既然都要做開源專案了,就投入在自己熱愛、有意義的事吧!

Slide 31

Slide 31 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 人才招募中 31 資料科學分析師 (數數發中心, DDT)-104 人力銀行 商業數據分析師 (數數發中心, DDT)-104 人力銀行

Slide 32

Slide 32 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 QA? 32

Slide 33

Slide 33 text

TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler 套件的理念、策略與收穫 游騰林 國泰世華銀行 | 數據部 | 資料科學家 Email: [email protected] Facebook: https://www.facebook.com/tlyu0419 SpeakerDeck: https://speakerdeck.com/tlyu0419 Github: https://github.com/TLYu0419/facebook_crawler 33