5 行 Python 代码就能让你的电脑永不息屏!

菜鸟学Python

共 3903字,需浏览 8分钟

 ·

2021-12-11 05:31

前言

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循环,让程序一直执行!
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],来指定获取哪个表格。
好了,今天的案例就介绍到这里,你学会了吗?



最后,推荐一下我们的星球,想玩服务器编程的可以加入我们,我们一年会带大家玩7个项目,大家可以修改我们的代码来扩展它的功能,比如监控股票的可以改成监控基金的,或者是多个金融数据产品,然后根据一些均线策略来提醒你的交易策略等等

目前星球的价格是一年88元(算下来一个月6块多),还有12元的优惠券限时领取。有兴趣的加入我们的,速来。




推荐阅读:

入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径


干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影


趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!


AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影


小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!


点阅读原文,看200个Python案例!

浏览 39
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报