关于数据挖掘:Python小项目5行代码能做啥

2次阅读

共计 1815 个字符,预计需要花费 5 分钟才能阅读完成。

前言

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…

如果想要应用 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],来指定获取哪个表格。

好了,明天的案例就介绍到这里,你学会了吗?

正文完
 0