程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

5 行 Python 代碼就能讓你的電腦永不息屏,這波必須裝到...

編輯:Python

前言

首先,必須得承認Python 是一門優雅、易入門的編程語言。往往用很少量的代碼,就能幫助你完成一件很漂亮的事兒。這也是我

使用python多年的心裡話。比起那些難、麻煩的的軟件,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
Python學習交流Q群:906715085###
# 使用while True循環,讓程序一直執行!
while True:
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],來指定獲取哪個表格。

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


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved