當前位置: 妍妍網 > 辦公

5行Python程式碼讓你的電腦 「永不息屏」?

2024-06-11辦公

Python是一門 優雅 易入門 的程式語言。 往往用很少量的程式碼,就能幫助你完成一件很漂亮的事兒。

最開始學習Python,不需要太過復雜。只要玩兒的開心就行,慢慢培養興趣,等你上手後,你會學習的更有信心。

今天我們就來玩玩兒, 5行程式碼能做啥? 這裏我為大家介紹兩個好玩兒的小計畫,介紹如下:

  • 計畫一: 5行程式碼讓電腦永不息屏!

  • 計畫二: 5行程式碼爬取表格數據!

  • 計畫一:5行程式碼讓電腦 永不鎖屏

    眾所周知 ,當你的電腦滑鼠一直在動的時候,系統會預設你的電腦是在工作當中,因此就不會息屏。

    既然是玩嗎?你就不要杠,說為啥 「不設定用不息屏」 ?那樣,你贏了,我無話可說。哈哈!

    這裏就是用程式碼自動化控制滑鼠,實作滑鼠的 「上下左右」 移動操作,讓電腦誤以為是認為在操作滑鼠。

    在這裏,我們使用的是Python中的 pyautogui庫 。如果你的電腦沒有安裝這個庫,可以使用下面程式碼安裝一下。

    pip install pyautogui

    控制滑鼠移動,使用的是pyautogui庫中的moveRel(x,y)函式,用法如下:

  • 含義: 根據當前位置, 相對移動滑鼠指標;

  • 註意: 當x/y大於0,則表示往右/往下移動滑鼠指標。當x/y小於0,則往左/往上移動滑鼠指標【x/y是整數】;

  • 當然這個隨機數,肯定不要你人為去設定,我們也隨機生成。在這裏我需要為大家在介紹random庫中的一個函式random.randint(a,b),用法如下:

  • 含義: 用於生成指定數值範圍內的隨機整數;

  • 註意: 該函式有兩個參數a和b,表示指定區間的上限和下限;

  • import random
    random.randint(a=100,b=300)

    結果如下:

    有了這些基礎後,我們直接上程式碼吧!

    # 匯入相關庫
    import pyautogui
    import random
    import time
    # 使用while True迴圈,讓程式一直執行!
    whileTrue:
    x = random.randint(-200,200)
    y = random.randint(-200,200)
    pyautogui.moveRel(x,y)
    time.sleep(5# 讓滑鼠移動到某個位置,停留幾秒鐘,我怕它太累

    當然, pyautogui庫 作為一個自動化操作滑鼠的庫,有很多值得你去挖掘的知識點。這裏只是簡單使用,其它知識可以根據你的實際需求,去系統學習一下。

    計畫二:5行程式碼爬取表格數據

    如果說想學習Python爬蟲的話,我想這應該是最簡單爬蟲程式碼了。

    說白了,就是pandas庫爬取表格數據。這個其實和Excel有點像,Excel不就是只能爬取一些規則的表格數據嗎?但是這個更好用哦,畢竟不讓你動手。

    今天我們爬取到網頁是 「中商情報網」

    網址如下: https://s.askci.com/stock/a/0-0?reportTime

    如果想要使用pandas爬取數據,它的HTML結構是下面這個Table格式的。

    <table  class="..." id="...">
    <thead>
    <tr>
    <th>...</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td>...</td>
    </tr>
    <tr>...</tr>
    <tr>...</tr>
    ...
    <tr>...</tr>
    <tr>...</tr>
    </tbody>
    </table>

    我們點選F12,檢視原始碼,當我們定位待爬取數據時,會發現該數據滿足這個特點。

    其余知識沒必要多講,畢竟都是pandas中的知識,大家很熟悉了。 上程式碼:

    # 匯入相關庫
    import pandas as pd
    import csv
    # 我們只爬取十頁數據
    for i in range(1,10): # 爬取全部頁
    tb = pd.read_html(f'http://s.askci.com/stock/a/?reportTime=2021-03-31&pageNum={i}')[3
    tb.to_csv(r'上市公司.csv', mode='a', encoding='utf_8_sig', header=1, index=0)

    結果如下:

    妥妥的,這麽多家上市公司的數據,就被你收入囊中了。 然後可以拿去做個簡單的分析,或者練習pandas數據處理,不香嗎?

    這裏還有一點值得說明的是,上面程式碼中有一個 [3] ,代表啥意思呢?

    這是因為網頁上可能存在多個表格,這時候就需要靠列表的切片 tables[x] ,來指定獲取哪個表格。

    好了,今天的案例就介紹到這裏,你學會了嗎?

    Crossin的新書【 碼上行動:用ChatGPT學會Python編程 】已經上市了。 本書以ChatGPT為輔助,系統全面地講解了如何掌握Python編程,適合Python零基礎入門的讀者學習。

    購買後可加入讀者交流群,Crossin為你開啟陪讀模式,解答你在閱讀本書時的一切疑問。

    Crossin的其他書籍:

    添加微信 crossin123 ,加入編程教室共同學習 ~

    感謝 轉發 點贊 的各位~