Python:《Python應用實例欣賞》第7課數據處理與爬取

2021-02-23 行走路上
昨天是選修課最後一節正課,為了給學生一些考前提示,提前10分鐘開始回顧了一下前六節的主要內容,不知道他們是否能否懂我。今天高二復學後的驗收考試,估計高二的學生很可能沒心思聽課了,不過通過課堂上兩次互動來看,在線人數還可以的。回顧比預計的多用了5分鐘,於是將本來準備賞析的三個實例縮減為最主要的兩個「學籍數據合併」和「黑龍江疫情數據爬取」,「最強大腦遊戲」留給學生自行賞析了。

這個例子源自老婆大人的一個真實的工作需求,當時我用電子表格的函數+批處理提取文件名的方法解決了,但是每次需要打開全部的電子表格文件,相對麻煩一些,好處是電子表格她熟悉,能夠隨時根據需要調整數據。當時也想用Python來解決,但我不會。後來結識了「巧樂希」公眾號的「公主」小溪流,把需求提給了她,沒想到她居然專門寫了一篇文章針對性將Excel中的數據匯總-Python來助力,方法還是非常的簡單的。
昨日備課將例子修改為學生相對熟悉的內容,這也是我前段時間在幫助孩子班級整理疫情數據時遇到的真實需求。我的技術不止用來服務老婆孩子,下一篇寫一寫服務於學校的內容。在教學時強調編程解決問題的出發點:處理的數據量大 or 重複利用,這兩個條件具備一個就可以。強調對於非計算機相關專業人員,能達到可以看懂這個程序並根據自己的需求修改,以解決自己的問題即可。我目前就是這個水平。為了演示效果我造了6個學生數據,如果有數量更多的數據效果會更好,但因為涉及隱私我沒有拿孩子班級的數據涉及的數據都是虛構的

演示結束之後,給學生解釋代碼。注意代碼中標註了引用,演示文稿中也聲明了引用。這裡一方面對作者感謝,另一方面也培養學生尊重知識分享者的意識,同時也以身作則的引導學生利用網絡資源進行數位化學習。在上課中我甚至強調我是邊學習便教學,把我學習的過程都告訴學生,希望他們了解數位化學習的方法,這也是一種數位化學習與創新素養的培養方法
#改編自微信公眾號巧樂希中《針對性將Excel中的數據匯總-Python來助力》一文from openpyxl import load_workbookfrom openpyxl import Workbookimport os
#指定需要合併Excel所在的文件夾路徑#***引號中的內容是我修改的地方path = "學籍信息"
#獲取所有子文件名file_list = list(os.walk(path))[0][2]
#創建一個新的表格wb_new = Workbook()ws_new = wb_new.active#添加表格的第一行表頭,想要什麼表頭就自己編寫#***括號內的文字是我修改的地方ws_new.append(["學籍號","姓名","身份證號","父親姓名","身份證號","電話","工作單位職務","母親姓名","身份證號","電話","工作單位職務"])
#從文件夾中取出所有文件,遍歷for file in file_list: #打開對應的文件 wb = load_workbook(path+"\\"+file) ws = wb.active #這裡去尋找對應單元格的行號和列數,如果有合併的單元格,列數已合併後的第一列數為標準    #***下面這些行是我修改的地方 s_id = ws.cell(row = 3, column = 2).value s_name = ws.cell(row = 2, column = 2).value s_pid = ws.cell(row = 4, column = 2).value f_name = ws.cell(row = 8, column = 1).value f_id = ws.cell(row = 8, column = 5).value f_ph = ws.cell(row = 8, column = 6).value f_c = ws.cell(row = 8, column = 4).value m_name = ws.cell(row = 9, column = 1).value m_id = ws.cell(row = 9, column = 5).value m_ph = ws.cell(row = 9, column = 6).value m_c = ws.cell(row = 9, column = 4).value #將對應取出的數據存放入列表中 _list = [s_id,s_name,s_pid,f_name,f_id,f_ph,f_c,m_name,m_id,m_ph,m_c] #向後追加一行數據 ws_new.append(_list)#***括號中的文件名也是我修改地方wb_new.save('學籍匯總表.xlsx')print("匯總完成!!!")

在教學中我主要介紹了,爬取數據所需的模塊、數據源的獲取方法(包括瀏覽器F12分析數據源的過程),演示了直接訪問數據源網址呈現的內容。對正則表達式和json做了極其簡單的介紹。演示了爬取豆瓣網高分影評的電影排行,介紹了b站視頻爬取代碼失效的原因——反爬取(不一定是,只是藉機引出存在發爬取這種技術)和爬取協議。告訴學生可以嘗試修改省份,或嘗試製作市級疫情地圖。

總之,這個實例僅僅是了解爬蟲技術的存在,強調這部分內容要想使用的話,需要深入學習。

最後,再次強調下周考試的方式,期待他們的精彩的作文。

信息技術教學的路很長,

行走路上與您一路同行!

● 感謝訪問,歡迎交流

相關焦點

  • python爬蟲實戰:爬取天氣數據的實例詳解
    在本篇文章裡小編給大家整理的是一篇關於python爬取天氣數據的實例詳解內容,有興趣的朋友們學習下。
  • python爬取數據存入資料庫
    昨天本來寫了一篇關於python爬取的文章,結果沒通過,正好今天一起吧。用python同時實現爬取,和存入資料庫,算是複習一下前面操作資料庫的知識。1、準備工作既然是爬取,那自然要連接到爬取的頁面,所以需要requests庫。
  • 零基礎開始用Python處理Excel數據
    【曾賢志】從零基礎開始用Python處理Excel數據 – 第1季 基礎篇課程目標:首先學習Python的基礎知識,然後使用Python來控制Excel,做數據處理。適用人群:Excel使用者、Python愛好者、數據處理人員、辦公人員等講師介紹:曾賢志51CTO金牌講師課程簡介:第1章 python基礎
  • stata調用python爬取時間數據——借他山之石以攻玉
    該功能使得,我們可以先利用python爬取數據,然後再利用用戶所熟悉的stata去處理數據,因為stata在處理數據方面具有一定的優勢。那麼今天我們就來看看,怎樣利用stata調用python爬取數據,再用stata進行處理?今天試爬的數據是巨潮網上的預約年報的披露時間數據。
  • Python - python爬取新聞專題及常見問題 - CSDN
    最近,在數據挖掘課,要交課設了,打算做一個通過機器學習進行新聞分類,首先要有大量的文本(新聞),去做訓練,並通過爬蟲爬取大量的新聞一,思路如下:0.首先確定獲取數據的網站1.通過BeautifulSoup來切取連結2.
  • 如何用 Python 爬取網頁製作電子書
    本文來自作者在 GitChat 上分享「如何用 Python 爬取網頁製作電子書」主題內容。有人爬取數據分析黃金周旅遊景點,有人爬取數據分析相親,有人大數據分析雙十一,連小學生寫論文都用上了大數據。我們每個人每天都在往網上通過微信、微博、淘寶等上傳我們的個人信息,現在就連我們的錢都是放在網上,以後到強人工智慧,我們連決策都要依靠網絡。
  • python爬取+BI分析5000條內衣數據,發現妹子最愛這款文胸
    生活中我們經常會用python進行數據爬取,但是爬取簡單分析難,很多人喜歡用echarts圖表接口或者是python的第三方庫進行數據可視化,甚至是用matlab,基本上都需要用代碼實現,在數據展示上十分繁瑣,效率不高。
  • Excel與Python爬取數據,兩者PK,誰優誰劣?
    小夥伴們大家好~Excel和python作為當前兩款比較火的數據分析處理工具,兩者之間有很多共性也有很大的區別。今天一起來看下在抓取網頁數據這塊,兩者有什麼異同點。上圖中是中國證券監督管理委員會中滬市IPO公司的相關信息,我們需要提取其中的表格數據,分別利用Excel與python。ExcelExcel提供兩種獲取網頁數據的方法,第一種是 數據—自網站功能,第二種是Power Query。
  • 10個Python爬蟲入門實例
    涉及主要知識點:web是如何交互的requests庫的get、post函數的應用response對象的相關函數,屬性python文件的打開,保存代碼中給出了注釋,並且可以直接運行哦如何安裝requests庫(安裝好python的朋友可以直接參考,沒有的,
  • 「Python爬蟲與文本實例技術與應用」培訓班通知
    為提升相關科技工作者的技術水平,北京博宏科睿教育科技有限公司特舉辦2018年第二期「Python爬蟲與文本挖掘實例技術與應用」培訓班,本次培訓從爬蟲的基本知識入手,使用Python作為實現工具,一步步講述網絡爬蟲的實現,具體內容如下:            【培訓目標】    1.讓學員儘快掌握python語言的基本結構與語法與數據類型,
  • 用python分析上海二手房數據,用幾十行代碼爬取大規模數據!
    add': add.get_text(), 'area': area.get_text(), 'price': price.get_text(), 'danjia': danjia.get_text(), 'author': author.get_text(), 'tag': list(tag.stripped_strings) } print(data)3、調用spider_1函數爬取指定網頁
  • 用Python進行Web爬取數據
    目錄3個流行的工具和庫,用於Python中的Web爬蟲Web爬網的組件 Crawl Parse and Transform Store從網頁中爬取URL和電子郵件ID爬取圖片在頁面加載時抓取數據3個流行的工具和庫,用於Python中的Web爬蟲你將在Python中遇到多個用於Web抓取的庫和框架。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    因篇幅有限,以下展示的只是課程裡部分內容如對python課程有更多疑問 請諮詢客服 1零基礎入門全能班 01 –python簡介 02 第一個程序 03-python執行方式和pycharm設置 04-程序的注釋和算術運算符 05 程序執行原理 06變量的使用以及類型 07
  • Python數據分析—apply函數
    在對海量數據進行分析的過程中,我們可能要把文本型的數據處理成數值型的數據,方便放到模型中進行使用。
  • Python大數據綜合應用 :零基礎入門機器學習、深度學習算法原理與案例
    高級編程與大數據綜合應用第一天第1講:Python數據科學環境搭建1.Python異常處理第3講:文件組織與處理1. 文件讀寫2. 文件組織3. 處理Excel電子表格4. 處理PDF和Word文檔5. 處理CSV和JSON數據第4講:圖像組織與處理1.  Pillow庫簡介2.  處理Image數據類型3.
  • Python爬取CAP之家的APP推廣信息數據
    前言本文的文字及圖片來源於網絡,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯繫我們以作處理。
  • 用人話教你入門Python[簡單爬取網頁內容]
    #_windows下載python2.7,這裡不介紹python2.7和3.5有什麼區別,反正我們用2.7的,安裝過程沒什麼技術含量只是等的比較久就跳過了成功安裝後您將獲得精美禮品Jupter Notebook一份,Ipython一份,集成開發環境Spyder一份(不知道是什麼鬼不要緊,反正在你的開始菜單->所有程序->Anaconda
  • 機器學習、深度學習算法原理與案例實踐暨Python大數據綜合應用...
    共4天8節,講解機器學習和深度學習的模型理論和代碼實踐,梳理機器學習、深度學習、計算機視覺的技術框架,從根本上解決如何使用模型、優化模型的問題;每次課中,首先闡述算法理論和少量公式推導,然後使用真實數據做數據挖掘、機器學習、深度學習的數據分析、特徵選擇、調參和結果比較。
  • Python開發簡單爬蟲【學習資料總結】
    URL管理器返回是/否; 2、如果是,調度器會從URL管理器中取出一個待爬URL; 3、調度器將URL傳給下載器,下載網頁內容後返回給調度器; 4、調度器再將返回的網頁內容發送到解析器,解析URL內容,解析完成後返回有價值的數據和新的URL; 5、一方面,調度器將數據傳遞給應用進行數據的收集
  • Python爬取B站彈幕並製作詞雲圖
    (如下圖所示) 彈幕數據的url地址既然都知道了,那麼就可以直接爬取下來了。 代碼實現部分 1、請求網頁獲取原始碼數據 爬取這些數據是需要加上cookie的,如果沒有加cookie的話會顯示你未登錄帳號 所以需要在headers裡面添加cookie