25 Sep 2022
|
beginner
python
author: jackfrued
環境準備
如果希望快速開始使用 Python 處理數據科學相關的工作,建議大家直接安裝 Anaconda,然後使用 Anaconda 中集成的 Notebook 或 JupyterLab 工具來編寫代碼。因為對於新手來說,先安裝官方的 Python 解釋器,再逐個安裝工作中會使用到的三方庫文件會比較麻煩,尤其是在 Windows 環境下,經常會因為構建工具或 DLL 文件的缺失導致安裝失敗,而一般新手也很難根據錯誤提示信息采取正確的解決措施,容易產生嚴重的挫敗感。如果計算機上已經有 Python 解釋器環境了,也可以直接使用 Python 的包管理工具 pip 安裝 Jupyter,再根據實際工作的需要安裝三方庫,這種方式適合有一定經驗的用戶。
25 Sep 2022
|
beginner
python
author: jackfrued
數據分析概述
當今世界對信息技術的依賴程度在不斷加深,每天都會有大量的數據產生,我們經常會感到數據越來越多,但是要從中發現有價值的信息卻越來越難。這里所說的信息,可以理解為對數據集處理之後的結果,是從數據集中提煉出的可用於其他場合的結論性的東西,而從原始數據中抽取出有價值的信息的這個過程我們就稱之為數據分析,它是數據科學工作的一部分。
定義:數據分析是有針對性的收集、加工、整理數據並采用統計、挖掘等技術對數據進行分析和解釋的科學和藝術。
25 Sep 2022
|
beginner
python
author: jackfrued
爬蟲框架Scrapy簡介
當你寫了很多個爬蟲程序之後,你會發現每次寫爬蟲程序時,都需要將頁面獲取、頁面解析、爬蟲調度、異常處理、反爬應對這些代碼從頭至尾實現一遍,這里面有很多工作其實都是簡單乏味的重覆勞動。那麽,有沒有什麽辦法可以提升我們編寫爬蟲代碼的效率呢?答案是肯定的,那就是利用爬蟲框架,而在所有的爬蟲框架中,Scrapy 應該是最流行、最強大的框架。
24 Sep 2022
|
beginner
python
author: jackfrued
Python中的並發編程-3
爬蟲是典型的 I/O 密集型任務,I/O 密集型任務的特點就是程序會經常性的因為 I/O 操作而進入阻塞狀態,比如我們之前使用requests獲取頁面代碼或二進制內容,發出一個請求之後,程序必須要等待網站返回響應之後才能繼續運行,如果目標網站不是很給力或者網絡狀況不是很理想,那麽等待響應的時間可能會很久,而在這個過程中整個程序是一直阻塞在那里,沒有做任何的事情。通過前面的課程,我們已經知道了可以通過多線程的方式為爬蟲提速,使用多線程的本質就是,當一個線程阻塞的時候,程序還有其他的線程可以繼續運轉,因此整個程序就不會在阻塞和等待中浪費了大量的時間。
24 Sep 2022
|
beginner
python
author: jackfrued
Python中的並發編程-2
在上一課中我們說過,由於 GIL 的存在,CPython 中的多線程並不能發揮 CPU 的多核優勢,如果希望突破 GIL 的限制,可以考慮使用多進程。對於多進程的程序,每個進程都有一個屬於自己的 GIL,所以多進程不會受到 GIL 的影響。那麽,我們應該如何在 Python 程序中創建和使用多進程呢?