前言
写的小玩意,做一个记录,当以后写了好玩的东西会分享到这里(现在我还是个菜鸡,泪目~)
模块
random模块
urllib模块
requests模块
os模块
re模块
猜数字游戏
import random #导入 random 模块
c = random.randint(0,100) #把随机0-100的一个数字赋给c
print("10次猜数字小游戏!\n") #输出游戏名称
a = input("是否要启动游戏yes/no:") #把输入的yes/no给a
if a == "yes": #判断a等于yes就执行下面的语句
d = 0 #给d一个为0的值
while d<10: #只要d小于10就执行循环里面的语句
b = int(input("\n请输入1-100的数字:")) #b等于一个输入的数字
if b > c: #判断b大于c就输出"数大了"如果不是就继续向下
print("数大了")
elif b < c: #判断b大于c就输出"数小了"如果不是就继续向下输出"恭喜你猜出来了,已退出"
print("数小了")
else:
print("恭喜你猜出来了,已退出!")
break
d+=1 #每次循环d都会加1所以第10次就会不满足d大于10所以会退出
else: #当a不等于yes的话就会输出已退出!
print("已退出!")
文件的操作
a = open("C:\\Windows\\System32\\cmd.exe",'rb') #二进制读取给a
b = open("C:\\Users\\User\\Desktop\\1.exe",'wb') #二进制写入给b
while True: #判断为真,往下执行
data = a.read(4096) #把a读取二进制(大小为4096)到给data
if data == b"": #当data的数据为空时结束
break
b.write(data) #写入到b
a.close() #a、b结束关闭
b.close()
歹徒困境
"""
《歹徒困境》:
若两人都认罪,则各判10年,若一人认一人不认,则认罪的人判1年,不认得判20年,若两人都不认,则各判3年
"""
while True: #为真一直循环
a = input("a:认罪/不认罪:") #a的输入
b = input("b:认罪/不认罪:") #b的输入
#以下都是判断条件
if a == "认罪" or a == "不认罪" and b == "不认罪" or b == "认罪":
if a == '认罪' and b == '认罪':
print("a、b都是10年")
elif a == '不认罪' and b == '认罪':
print("a判20年,b判1年")
elif a == '认罪' and b== '不认罪':
print("a判20年,b判1年")
else:
print("a、b都不认罪,都是3年")
break
else:
print("您的输入错误,请输入认罪/不认罪")
剪刀、石头、布游戏
"""
a:表示计算机出拳
b:表示用户出拳
1. 双方出拳
2. 双方亮拳
3. 判断胜负
"""
print("-"*15 + "双方出拳" + "-"*15)
import random
ab = ['石头','剪刀','布']
a = random.choice(ab) #返回一个列表,元组或字符串的随机项
b = ''
b = input("\n请输入石头、剪刀、布:")
while b not in ab:
print("您输入的有误,请重新出拳:",end ='')
b = input()
print("\n" + "-"*15 + "双方亮拳" + "-"*15 + "\n")
print("计算机出拳为:%s" % a)
print("您的出拳为:%s" % b)
print("\n" + "-"*15 + "判断胜负" + "-"*15 + "\n")
if a == b:
print("平局")
elif (a == "剪刀" and b == "石头") or (a == "石头" and b == "布") or (a == "布" and b == "剪刀"):
print("你赢了!")
else:
print("你输了!")
获取网站源代码
import urllib.request
class GetHtml(object):
def __init__(self,URL):
self.url = URL
def get_index(self):
self.response = urllib.request.urlopen(self.url)
return self.response.read()
html = GetHtml("https://127.0.0.1")
print(html.get_index())
爬取图片
import urllib.request
import re
class GetHtml(object):
def __init__(self,URL,HEAD):
self.url = URL
self.head = HEAD
def get_index(self):
self.request = urllib.request.Request(self.url)
self.request.add_header("user-agent",self.head)
self.response = urllib.request.urlopen(self.request)
return self.response.read()
def get_list(self):
self.strimglist = []
#print(self.strimglist)
self.imglist = re.findall(b"style/\w{60}.jpg",self.get_index())
for i in self.imglist:
self.strimglist.append(self.url+str(i,encoding="utf8"))
#print(self.strimglist)
return self.strimglist
def get_image(self):
num = 0
for self.url in self.get_list():
num += 1
with open(str(num)+".jpg","wb") as f:
f.write(self.get_index())
html = GetHtml("http://10.10.10.209/","Mozilla/5.0 (Windows NT 8.1; Win32; x32; rv:65.0) Gecko/20100101 Firefox/65.0")
html.get_image()
"""
1.先获取网站的源代码
2.找到图片的链接地址
3.通过写入的方式下载
"""
#调用函数
import requests
import re
import os
liebiao = []
shuzi = 0
url = "http://www.yangzixuanyzx.cn/"
#获取网站的源码
response = requests.get('http://www.yangzixuanyzx.cn/anli/')
response.encoding = 'utf-8'
html = response.text
#获取图片的链接地址
himg = re.findall("/uploads/allimg/\w{0,9}/..\w{0,15}.{0,9}[jpg|png]",html)
for i in himg:
liebiao.append(url + i)
#下载到D盘下名为1的文件夹中
for img in liebiao:
shuzi += 1
with open("D:\\1\\"+str(shuzi) + ".jpg",'wb') as f:
f.write(requests.get(img).content)
print(os.path.basename(img) + "保存成功")
收藏下载文件
import requests
url = "https://ps.ssl.qhimg.com/dmfd/420_627_/t01a4ad20545ed7aabe.jpg"
img = requests.get(url).content #只能用content不能用text
with open("meizi.jpg", "wb") as f:
f.write(img)
有点像上面的文件操作
import requests
url = "https://arxiv.org/pdf/1904.03964.pdf"
r = requests.get(url, stream=True) #下载这篇论文需要科学上网
with open("artticle.pdf", "wb") as f:
for chunk in r.iter_content(chunk_size=512):
f.write(chunk)
HTTP和HTTPS代理请求
import requests
url = "https://www.baidu.com"
#代理IP端口
proxise = {'http':'http://127.0.0.1:8080','https':'https://127.0.0.1:8080'}
#请求
r = requests.get(url,proxies = proxise,verify = False)
print(r.status_code)
获取服务器信息
import requests
url = "http://www.job.cn"
r = requests.get(url)
print("信息:" + r.headers['Server'])