Upgrade to Pro — share decks privately, control downloads, hide ads and more …

開源套件的經營指南 Facebook-Crawler 套件的理念、策略與收穫

開源套件的經營指南 Facebook-Crawler 套件的理念、策略與收穫

- 經營開源專案往往會需要開發者投入相當多的時間與心力,而如何從經營的過程中持續性的獲得正向回饋即是決定開發者能否長期投入的關鍵因素。在這次的分享中我將以 facebook-crawler 為例,從專案管理的角度與大家分享 facebook-crawler 的理念、策略與收穫。不論你想要為開源專案貢獻一份心力,或者已經是開源專案的貢獻者,相信你/妳都能從這次的分享中更深入的了解經營開源專案會遇到大大小小的事情。並且希望透過這次的幫助大家設計與打造正向的回饋機制!
- facebook-crawler 是一項開源的 Python 套件,可以協助使用者用簡潔的語法快速收集 Facebook 上的公開粉絲專頁、社團的貼文資料,開源至今已經累積超過 2 萬次的下載量,在學術、商業、風險偵測、教育等等方面都有許多應用。
- Maintaining an open-source project requires developers to take a lot of time and care, and how to continuously obtain positive feedback from the management process is the crucial factor that determines whether developers can invest in the long term.
In this sharing, I will use Facebook-crawler as an example to share this open-source project's concept, strategy, and harvest. Whether you want to contribute to open-source projects or are already contributors to open-source projects, I believe you can take away something from this sharing. And hope that this will help you design and create a positive feedback process!
- Facebook-crawler is an open-source Python project that can effectively help users collect information on public Fanpages and Groups posts on Facebook. It has accumulated more than 20,000 downloads from open source. There are many applications in business, risk detection, education, politic, etc.
Here's the project link about this project:
- Github: https://github.com/TLYu0419/facebook_crawler
- PyPI: https://pypi.org/project/facebook-crawler/

tlyu0419

July 24, 2022
Tweet

More Decks by tlyu0419

Other Decks in Education

Transcript

  1. 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 簡單 高效 免登入
  2. TENG-LIN YU(tlyu0419) | Mail: [email protected] COSCUP 2022 | 開源套件的經營指南: Facebook-Crawler

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    套件的理念、策略與收穫 人才招募中 31 資料科學分析師 (數數發中心, DDT)-104 人力銀行 商業數據分析師 (數數發中心, DDT)-104 人力銀行
  25. 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