從 Web 收集數據時不偷工減料地削減成本
已發表: 2023-02-13在沒有計劃的情況下從網絡上抓取數據充滿了風險。 當您迷失在復雜的網站和數據清潔中時,您的預算將很快超支。 如果您使用的是雲資源並且不跟踪每天發生的成本,則機會更高。 在成本優化方面,您必須審視整個工作流程,通常包括 –
- 從網絡上抓取數據。
- 數據的清理和規範化。
- 將數據存儲在數據庫或 S3 存儲桶等介質中。
- 通過 API 調用或直接訪問存儲位置來訪問數據。
- 可能的數據加密和解密(如果數據敏感且高安全性至關重要)。
- 處理抓取的數據以使其可用於下游工作流程。
恢復 > 重新啟動
在許多情況下,當您在數百萬個網頁上抓取數十個數據點時,您的代碼可能會在某個時候中斷。 在大多數情況下,人們會繼續重新啟動整個任務——是的,這確實更容易實現和使用。 然而,通過一些工程上的奇蹟,可能使用緩存機制,您可以確保在抓取作業中斷時保存檢查點。 一旦解決了損壞背後的問題,您就可以通過從保存的檢查點恢復來繼續抓取數據。
服務器與無服務器
這一點對於那些不是實時抓取數據而是批量抓取數據的人來說很重要。 例如,假設您每天兩次從一百萬個網頁中抓取數據。 每次,抓取工作需要 2 小時才能完成。 所以任務每天運行的總時間是2+2=4小時。 現在,如果您使用 AWS EC-2 實例之類的東西進行基於服務器的設置,除非您每次都手動打開和關閉實例,否則您將被收取 24 小時的費用——這是一項艱鉅且容易搞砸的工作——上過程。 此處採用的更好方法是使用無服務器設置,您可以在其中按需運行雲資源,例如 AWS Lambda 或 Fargate。 這樣,您只需為使用的 4 小時付費,從長遠來看將為您節省大量資金。 如果您使用 24×7 運行的自動蜘蛛從網絡上抓取數據,您可以選擇基於服務器的設置。
網站更改檢測器
你可能從 5 個網站上抓取了 100 萬個網頁——總共 500 萬個網頁抓取。 現在假設其中 2 個網站進行了基於 UI 的更改,當您運行爬蟲時,您在工作流程中得到了錯誤的數據。 現在你需要花費工時和額外的計算資源來找出數據的哪一部分不可用,更新爬蟲然後為 200 萬個網頁再次運行它。 如果您運行一個更改檢測器腳本,該腳本會告訴您 2 個網站的外觀和感覺發生了變化,那麼這種情況就可以很容易地避免。 這將為您節省時間、金錢,甚至可能會丟失數據。
自動化人工任務
創建網絡抓取工作流時,將有許多最初手動執行的任務。 這些可能包括數據驗證和驗證、數據清理、格式化等階段。 數據分析師通常會花費數小時和數天時間在本地機器上運行腳本。 考慮到他們可能處理的數據量很大,腳本也可能需要一段時間才能運行。 這裡更好的選擇是在獲取數據脈搏後自動執行一些步驟。 隨著時間的推移,您應該將更多任務自動化以提高效率。
選擇公共雲而不是專用服務器
除非您使用每一毫秒都很重要的數據流做出決策,否則您可以負擔得起使用公共雲而不是專用服務器。 性能可能會略有下降,但從長遠來看,使用專用服務器可能會使您的網絡抓取成本激增,沒有任何限制。
開源工具
大多數許可軟件通過按月或按年訂閱的方式花費巨大。 如果您需要 IP 輪換或數據清理等額外功能,您可能需要額外付費。 此外,大多數這些付費工具都會有一些限制,如果獲得批准,任何新功能的添加或更改都可能需要幾個月的時間。
外包合規問題
從整個網絡上抓取數據時,您需要考慮多個法律方面,例如
- 您是否正在捕獲任何個人信息。
- 該網站的 robot.txt 文件。
- 圍繞位於登錄頁面後面的數據的規則。
- 處理受版權保護的內容。
- 確保內容重用不違反法律。
- 了解您從中抓取內容以及最終用戶所在位置的地理位置的法律。
和更多…
由於全球數字法律的複雜性,很容易因一時失誤而誤入歧途。 另一方面,並非每家公司都會有法律團隊來處理此類問題——這會很昂貴。
您可以改為外包您的法律要求,以便在您設置新的網絡抓取流程或決定使用抓取的數據創建產品時尋求他們的幫助。 網絡抓取的按需法律服務對中小型公司更有意義,而財富 500 強的法律部門可以在內部處理此類問題。
使用機器使數據驗證更便宜
公司可以做出的一個轉變是使用第三方庫來驗證數據,而不是聘請數據專家。 通常有數十名分析師手動分析原始數據、進行某些更改、生成新列並對數據進行規範化。 大多數這些活動都可以通過使用 AWS Step Functions 等工具創建工作流來實現自動化。 這些工作流程可以根據以下條件進行配置:
- 您的數據是以實時流還是批處理的形式出現。
- 定期處理的數據量。
- 您要對數據執行的處理類型。
- 數據點遍歷工作流所需的可接受時間。
- 需要重試、回滾和重新運行機制。
這種工作流的最大優點是,如果您確實需要一些手動檢查,您可以在工作流中有一個手動步驟,一個人可以查看數據,根據需要進行更改,然後按一個按鈕來移動工作流到下一步。
讓規模決定條款
對於在多個國家/地區擁有數千名員工的公司實體而言,最好的抓取解決方案對於擁有 10 名員工在一個城市服務的初創公司而言可能並不划算。 因此,從其他公司汲取靈感可能沒有幫助。 此外,您公司的抓取計劃可能還需要在您擴大規模時進行更新。
僅刷新已更改的內容
假設您正在從電子商務網站抓取數據。 您有多個重要的數據點,例如描述、屬性、退貨政策、價格、評論數量、評級等。 現在,如果您定期刷新此數據,您可能更願意以不同的時間間隔刷新不同的數據點。 例如,您可以每小時刷新一次價格,每天刷新評論和評分,每月刷新其餘數據點。 這樣的改變雖然看起來很小,但是當你把成本和努力乘上幾百萬的時候,你就會發現,只需要你需要的,就能為你省去多少爽快。
使用像 PromptCloud 這樣的 DaaS 提供商
在網絡抓取方面沒有放之四海而皆準的方法,這就是為什麼我們 PromptCloud 的團隊會根據每個公司的抓取要求為他們提供定制解決方案。 我們完全可定制的解決方案允許您更新-
- 您需要從中抓取數據的網站。
- 抓取數據的頻率。
- 要提取的數據點。
- 您希望使用已抓取數據的機制。
無論您插入多少源,我們的聚合器功能都可以幫助您在單個流中獲取數據。
企業的日程安排很緊,他們需要工作流程快速啟動和運行。 一旦我們有了需求,我們的經驗可以幫助我們在短時間內建立抓取管道。 我們還通過提供端到端解決方案幫助客戶理解數據中的混亂。 其他派上用場的功能是
- 完全託管的無維護服務部署到雲端。
- 以強大的 SLA 為後盾的及時支持。
- 低延遲,讓數據及時到達您手中。
- 根據您的要求無限擴展。
- 監控和維護整個抓取工作流程。
由於我們根據您使用的數據量收費,因此您無需擔心固定費用。 與真正的 DaaS 解決方案一樣,您的月度賬單僅基於您的數據消耗。 所以現在就訂閱我們並以合理的價格獲取數據,而無需通過 4 個步驟偷工減料:
- 你給我們的要求。
- 我們為您提供示例數據。
- 如果您滿意,我們將完成爬蟲設置。
- 數據以您選擇的格式並通過首選媒體到達您的手中。
因此,選擇權在您手中,是時候在您的成本達到頂峰之前掌握網絡抓取的控制權了。