23 Sep 2022
|
beginner
python
author: jackfrued
網絡數據采集概述
爬蟲(crawler)也經常被稱為網絡蜘蛛(spider),是按照一定的規則自動瀏覽網站並獲取所需信息的機器人程序(自動化腳本代碼),被廣泛的應用於互聯網搜索引擎和數據采集。使用過互聯網和瀏覽器的人都知道,網頁中除了供用戶閱讀的文字信息之外,還包含一些超鏈接,網絡爬蟲正是通過網頁中的超鏈接信息,不斷獲得網絡上其它頁面的地址,然後持續的進行數據采集。正因如此,網絡數據采集的過程就像一個爬蟲或者蜘蛛在網絡上漫遊,所以才被形象的稱為爬蟲或者網絡蜘蛛。
23 Sep 2022
|
beginner
python
author: jackfrued
用FastAPI開發網絡數據接口
FastAPI 是一個用於構建API(網絡數據接口)的現代、高性能的Web框架,基於Python 3.6+,使用了Python中的類型提示進行類型檢查,非常符合工程化開發的需求,在業界有非常好的口碑。下面,我們先用代碼告訴大家FastAPI到底能做什麽,然後再來講解它的方方面面。
22 Sep 2022
|
beginner
python
author: jackfrued
異步任務和定時任務
在Web應用中,如果一個請求執行了耗時間的操作或者該請求的執行時間無法確定,而且對於用戶來說只需要知道服務器接收了他的請求,並不需要馬上得到請求的執行結果,這樣的操作我們就應該對其進行異步化處理。如果說使用緩存是優化網站性能的第一要義,那麽將耗時間或執行時間不確定的任務異步化則是網站性能優化的第二要義,簡單的說就是能推遲做的事情都不要馬上做。
上一章節中講到的發短信和上傳文件到雲存儲為例,這兩個操作前者屬於時間不確定的操作(因為作為調用者,我們不能確定三方平台響應的時間),後者屬於耗時間的操作(如果文件較大或者三方平台不穩定,都可能導致上傳的時間較長),很顯然,這兩個操作都可以做異步化處理。
在Python項目中實現異步化處理可以使用多線程或借助三方庫Celery來完成。