Python有哪些神一般的蜜汁操作?(附代码)

系统运维2025-11-04 19:39:072865

有人说,有神“Python除了不会生孩子,蜜汁码Python从撩妹到装x,操作无所不能!什么都会!”

下载视频?附代我用Python; 玩跳一跳?我用Python跳到4999分; 撩妹子?依然用Python; 抢红包抢火车票?没错还是Python; 就算是整理文件,我也还是有神用Python……

下面就详细跟大家分享一些Python的骚操作:

1、Python让你不再错过抢红包

刚过完年经历了抢红包大战的蜜汁码大家,是操作不是错过了好几个亿!?

用黑科技Python,开发一个微信小助手,附代从此再也不用担心错过巨额红包啦!

实现代码主要有两个部分:

(1)接收红包消息,有神直接从手机端微信获取数据比较麻烦,蜜汁码主流的操作方法都是通过微信网页版来获取。

因为网页版的附代消息接口可以被抓包分析,比较容易获取和使用。有神

(2)发通知,蜜汁码最简单的操作通知方法就是发出声音,还嫌不够的话,可以弹个窗。

# 打开手机微信 poco(text=微信).click() #获取当前页面中所有所有群聊的名称  群聊消息的元素标识Chat_msg = poco(name=com.tencent.mm:id/d1v).offspring(com.tencent.mm:id/b6e) # 获取当前页面中所有群聊的名称 Chat_names = [] Chat_names = list(map(lambda x: x.get_text(), Chat_msg)) # 指定抢红包的云服务器群聊名称 chat = input(请指定群聊名称:) if chat in Chat_names:  index = Chat_names.index(chat)  # 点击进入指定的群聊  Chat_msg[index].click() 在微信聊天页面中,获取当前页面中的所有消息元素。 msg_list = poco("android.widget.ListView").children() #   遍历消息并查找红包 for msg in msg_list: # 微信红包的标识  LuckyMoney = msg.offspring(com.tencent.mm:id/aql)  # 已失效红包(比如已领取、已被领完)的标识  Invalid = msg.offspring(com.tencent.mm:id/aqk)  # 判断红包是否有效并抢起来!  if LuckyMoney:  pass     #遍历消息并查找红包 if Invalid.exists() and (Invalid.get_text()==已领取 or Invalid.get_text()==已被领完): print(f红包已无效,跳过……)  continue else:  print(f发现一个新红包,抢起来!)  poco("com.tencent.mm:id/d1v")  msg.click()  click_open = poco("com.tencent.mm:id/d02")  if click_open.exists():  click_open.click()  keyevent(BACK) #初始化程序 from airtest.core.api import * auto_setup(__file__) from poco.drivers.android.uiautomation import AndroidUiautomationPoco poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False) 

2、Python帮你抢火车票

Python除了抢红包,也是抢火车票的一把好手,说不定你当年买下的黄牛贩子手里的票就是靠Python抢到的。

大家过年回家抢票是不是巨艰辛,今年过年可以写个抢票软件啦!

使用 Python3 抓取12306网站的 车票信息,及时提醒,自动下单。

from splinter.browser import Browser from time import sleep import traceback class Buy_Tickets(object):     # 定义实例属性,初始化     def __init__(self, username, passwd, order, passengers, dtime, starts, ends):         self.username = username         self.passwd = passwd         # 车次,0代表所有车次,依次从上到下,企商汇1代表所有车次,依次类推         self.order = order         # 乘客名         self.passengers = passengers         # 起始地和终点         self.starts = starts         self.ends = ends         # 日期         self.dtime = dtime         # self.xb = xb         # self.pz = pz         self.login_url = https://kyfw.12306.cn/otn/login/init         self.initMy_url = https://kyfw.12306.cn/otn/index/initMy12306         self.ticket_url = https://kyfw.12306.cn/otn/leftTicket/init         self.driver_name = chrome         self.executable_path = C:\Python36\Scripts\chromedriver.exe     # 登录功能实现     def login(self):         self.driver.visit(self.login_url)         self.driver.fill(loginUserDTO.user_name, self.username)         # sleep(1)         self.driver.fill(userDTO.password, self.passwd)         # sleep(1)         print(请输入验证码...)         while True:             if self.driver.url != self.initMy_url:                 sleep(1)             else:                 break     # 买票功能实现     def start_buy(self):         self.driver = Browser(driver_name=self.driver_name, executable_path=self.executable_path)         #窗口大小的操作         self.driver.driver.set_window_size(700, 500)         self.login()         self.driver.visit(self.ticket_url)         try:             print(开始购票...)             # 加载查询信息             self.driver.cookies.add({"_jc_save_fromStation": self.starts})             self.driver.cookies.add({"_jc_save_toStation": self.ends})             self.driver.cookies.add({"_jc_save_fromDate": self.dtime})             self.driver.reload()             count = 0             if self.order != 0:                 while self.driver.url == self.ticket_url:                     self.driver.find_by_text(查询).click()                     count += 1                     print(第%d次点击查询... % count)                     try:                         self.driver.find_by_text(预订)[self.order-1].click()                         sleep(1.5)                     except Exception as e:                         print(e)                         print(预订失败...)                         continue             else:                 while self.driver.url == self.ticket_url:                     self.driver.find_by_text(查询).click()                     count += 1                     print(第%d次点击查询... % count)                     try:                         for i in self.driver.find_by_text(预订):                             i.click()                             sleep(1)                     except Exception as e:                         print(e)                         print(预订失败...)                         continue             print(开始预订...)             sleep(1)             print(开始选择用户...)             for p in self.passengers:                 self.driver.find_by_text(p).last.click()                 sleep(0.5)                 if p[-1] == ):                     self.driver.find_by_id(dialog_xsertcj_ok).click()             print(提交订单...)             # sleep(1)             # self.driver.find_by_text(self.pz).click()             # sleep(1)             # self.driver.find_by_text(self.xb).click()             # sleep(1)             self.driver.find_by_id(submitOrder_id).click()             sleep(2)             print(确认选座...)             self.driver.find_by_id(qr_submit_id).click()             print(预订成功...)         except Exception as e:             print(e) if __name__ == __main__:     # 用户名     username = xxxx     # 密码     password = xxx     # 车次选择,0代表所有车次     order = 2     # 乘客名,比如passengers = [丁小红, 丁小明]     # 学生票需注明,注明方式为:passengers = [丁小红(学生), 丁小明]     passengers = [丁彦军]     # 日期,格式为:2018-01-20     dtime = 2018-01-19     # 出发地(需填写cookie值)     starts = %u5434%u5821%2CWUY #吴堡     # 目的地(需填写cookie值)     ends = %u897F%u5B89%2CXAY #西安     # xb =[硬座座]      # pz=[成人票]     Buy_Tickets(username, password, order, passengers, dtime, starts, ends).start_buy() 

3、Python帮你选房子

过完年很多朋友要开始租房,自己一个个晒一个个查看是不是太累?

那就写个Python脚本吧,爬取某租房网站的房源信息,利用高德的 js API 在地图上标出房源地点,划出距离工作地点1小时内可到达的范围。

对比租金等,轻轻松松选出最适合的房子。

代码:

链家的房租网站 两个导入的包 1.requests 用来过去网页内容 2.BeautifulSoup import time import pymssql import requests from bs4 import BeautifulSoup # https://wh.lianjia.com/zufang/ #获取url中下面的内容 def get_page(url): responce = requests.get(url) soup = BeautifulSoup(responce.text,lxml) return soup #封装成函数,作用是获取列表下的所有租房页面的链接,返回一个链接列表 def get_links(url): responce = requests.get(url) soup = BeautifulSoup(responce.text,lxml) link_div = soup.find_all(div,class_ = pic-panel) links = [div.a.get(href) for div in link_div] return links #收集一个房子的信息 def get_house_info(house_url): soup = get_page(house_url) price = soup.find(span,class_=total).text unit = soup.find(span,class_= unit).text[1:-1] area = soup.find(p, class_ = lf).text house_info= soup.find_all(p,class_ = lf) area = house_info[0].text[3:] #字符串切片工具 layout = house_info[1].text[5:] info={ 价格:price, 单位:unit, 面积:area, 户型:layout } return info #链接数据库 server="192.168.xx.xx" #换成自己的服务器信息 user="liujiepeng" password="xxxxx" #自己的数据库用户名和密码 conn=pymssql.connect(server,user,password,database="house") def insert(conn,house): #sql_values = values.format(house[价格],house[单位],house[面积], #house[户型]) sql = "insert into [house].dbo.lianjia(price,unit,area,layout)values(%s,%s,%s,%s)"%(house["价格"],house["单位"],house["面积"],house["户型"]) print(sql) cursor = conn.cursor() #游标,源码库开拓新的窗口 #cursor1 = conn.cursor() cursor.execute(sql) #执行sql语句 conn.commit() #提交 ,更新sql 语句 links = get_links(https://wh.lianjia.com/zufang/) count = 1 for link in links: #time.sleep(2) print(获取一个数据成功) house = get_house_info(link) insert(conn,house) print("第%s个数据,存入数据库成功!"%(count)) count = count+1 #print(house["价格"],end=\r) 

4、Python找回女神撤回的消息

除了这些日常操作,麦教授说几个你想不到的吧。

当自己一直喜欢的女神发给自己一个消息的时候,还没来得及看,就撤回了。

是不是自己在心中"YY",她是不是发了什么,然后你问她的时候,她却说没什么。

学会Python,你可以做一个程序,把私聊撤回的信息可以收集起来并发送到个人微信的文件传输助手。

5、Python自己写小游戏

用Python写几个小游戏玩玩也不过是几十行代码的事,比如写个贪吃蛇!

还记得之前火爆一时的跳一跳,如果你早点学会Python,就可以常年占据排行榜第1了,还是全自动的效果,很有趣!

跳一跳代码:

from __future__ import print_function import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation import math import time import os import cv2 import datetime scale = 0.25 template = cv2.imread(character.png) template = cv2.resize(template, (0, 0), fx=scale, fy=scale) template_size = template.shape[:2] def search(img):  result = cv2.matchTemplate(img, template, cv2.TM_SQDIFF)  min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)  cv2.rectangle(img, (min_loc[0], min_loc[1]), (min_loc[0] + template_size[1], min_loc[1] + template_size[0]), (255, 0, 0), 4)  return img, min_loc[0] + template_size[1] / 2, min_loc[1] + template_size[0] def pull_screenshot():  filename = datetime.datetime.now().strftime("%H%M%S") + .png  os.system(mv autojump.png {}.format(filename))  os.system(adb shell screencap -p /sdcard/autojump.png)  os.system(adb pull /sdcard/autojump.png .) def jump(distance):  press_time = distance * 1.35  press_time = int(press_time)  cmd = adb shell input swipe 320 410 320 410  + str(press_time)  print(cmd)  os.system(cmd) def update_data():  global src_x, src_y  img = cv2.imread(autojump.png)  img = cv2.resize(img, (0, 0), fx=scale, fy=scale)  img, src_x, src_y = search(img)  return img fig = plt.figure() index = 0 # pull_screenshot() img = update_data() update = True  im = plt.imshow(img, animated=True) def updatefig(*args):  global update  if update:  time.sleep(1)  pull_screenshot()  im.set_array(update_data())  update = False  return im, def onClick(event):   global update   global src_x, src_y  dst_x, dst_y = event.xdata, event.ydata  distance = (dst_x - src_x)**2 + (dst_y - src_y)**2   distance = (distance ** 0.5) / scale  print(distance = , distance)  jump(distance)  update = True fig.canvas.mpl_connect(button_press_event, onClick) ani = animation.FuncAnimation(fig, updatefig, interval=5, blit=True) plt.show() 

贪吃蛇代码:

#!/usr/bin/env python import pygame,sys,time,random from pygame.locals import * # 定义颜色变量 redColour = pygame.Color(255,0,0) blackColour = pygame.Color(0,0,0) whiteColour = pygame.Color(255,255,255) greyColour = pygame.Color(150,150,150) # 定义gameOver函数 def gameOver(playSurface):  gameOverFont = pygame.font.Font(arial.ttf,72)  gameOverSurf = gameOverFont.render(Game Over, True, greyColour)  gameOverRect = gameOverSurf.get_rect()  gameOverRect.midtop = (320, 10)  playSurface.blit(gameOverSurf, gameOverRect)  pygame.display.flip()  time.sleep(5)  pygame.quit()  sys.exit() # 定义main函数 def main():  # 初始化pygame  pygame.init()  fpsClock = pygame.time.Clock()  # 创建pygame显示层  playSurface = pygame.display.set_mode((640,480))  pygame.display.set_caption(Raspberry Snake)  # 初始化变量  snakePosition = [100,100]  snakeSegments = [[100,100],[80,100],[60,100]]  raspberryPosition = [300,300]  raspberrySpawned = 1  direction = right  changeDirection = direction  while True:  # 检测例如按键等pygame事件  for event in pygame.event.get():  if event.type == QUIT:  pygame.quit()  sys.exit()  elif event.type == KEYDOWN:  # 判断键盘事件  if event.key == K_RIGHT or event.key == ord(d):  changeDirection = right  if event.key == K_LEFT or event.key == ord(a):  changeDirection = left  if event.key == K_UP or event.key == ord(w):  changeDirection = up  if event.key == K_DOWN or event.key == ord(s):  changeDirection = down  if event.key == K_ESCAPE:  pygame.event.post(pygame.event.Event(QUIT))  # 判断是否输入了反方向  if changeDirection == right and not direction == left:  direction = changeDirection  if changeDirection == left and not direction == right:  direction = changeDirection  if changeDirection == up and not direction == down:  direction = changeDirection  if changeDirection == down and not direction == up:  direction = changeDirection  # 根据方向移动蛇头的坐标  if direction == right:  snakePosition[0] += 20  if direction == left:  snakePosition[0] -= 20  if direction == up:  snakePosition[1] -= 20  if direction == down:  snakePosition[1] += 20  # 增加蛇的长度  snakeSegments.insert(0,list(snakePosition))  # 判断是否吃掉了树莓  if snakePosition[0] == raspberryPosition[0] and snakePosition[1] == raspberryPosition[1]:  raspberrySpawned = 0  else:  snakeSegments.pop()  # 如果吃掉树莓,则重新生成树莓  if raspberrySpawned == 0:  x = random.randrange(1,32)  y = random.randrange(1,24)  raspberryPosition = [int(x*20),int(y*20)]  raspberrySpawned = 1  # 绘制pygame显示层  playSurface.fill(blackColour)  for position in snakeSegments:  pygame.draw.rect(playSurface,whiteColour,Rect(position[0],position[1],20,20))  pygame.draw.rect(playSurface,redColour,Rect(raspberryPosition[0], raspberryPosition[1],20,20))  # 刷新pygame显示层  pygame.display.flip()  # 判断是否死亡  if snakePosition[0] > 620 or snakePosition[0] < 0:  gameOver(playSurface)  if snakePosition[1] > 460 or snakePosition[1] < 0:  for snakeBody in snakeSegments[1:]:  if snakePosition[0] == snakeBody[0] and snakePosition[1] == snakeBody[1]:  gameOver(playSurface)  # 控制游戏速度  fpsClock.tick(5) if __name__ == "__main__":  main() 

6、Python爬取你想要的信息

还可以用python爬取电影分析影评,用词云进行展示效果:

写几行代码浪漫一把也是可以的,你也可以把里面的字符换成爱人的名字,做成浪漫的云图词!

7、Python看看你朋友圈都是什么样的人

掌握python以后,你玩微信别人也玩微信。

但是你可以得到不一样的骚操作,几十行代码掌握你朋友圈都是些什么样的人!

比如?爬取微信好友男女比例并进行可视化。

再来看看你的好友都来自哪个地方

这还不够,来把好友的个性签名也玩出逼格,做个创意的文字图,看看大家都在说什么

温馨小提示,如果分析的对象换成你的用户们...是不是业绩能蹭蹭上涨?

8、Python自己做小动画

还可以用字符串跳一段MV,成为B站大佬,使用 OpenCV 处理图片视频,将视频转为字符画序列,再在终端中播放字符动画。

9、Python鉴黄

看看Python还能用来干嘛

《图片就不放了 怕被举报 自行想象》

哈哈 可以用来emmm 鉴黄!

使用 Python3 去识别图片是否为色情图片,利用PIL 这个图像处理库,会编写算法来划分图像的皮肤区域。

其中涉及到Python 3 基础知识,肤色像素检测与皮肤区域划分算法。

是不是万万没想到?

10、Python AI医疗

还被用进医疗的领域。

典型如腾讯觅影这样的产品,用于AI医学图像分析,在癌症的早期识别上,人工智能对拍片的识别能力,也已经超过人类医生。

Python能做的好玩又实用的事情实在太多啦!

本文地址:http://www.bhae.cn/html/994f23798768.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

用卡纸打造立体电脑(DIY卡纸立体电脑的简易教程)

MySQL使用索引的场景及真正利用索引的SQL类型

借助JDBC元数据API,发现数据库元数据

Spark1.0.0部署指南

尼康200.500镜头评测(探究尼康200.500镜头的特点和优势)

Mdx 让 Markdown 步入组件时代

从VR到元宇宙:回顾30年,改变虚拟现实的18件大事

5月数据库流行度排行榜 三NoSQL位列前十

友情链接

滇ICP备2023000592号-9