学python时写的小玩意

前言

写的小玩意,做一个记录,当以后写了好玩的东西会分享到这里(现在我还是个菜鸡,泪目~)

模块

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'])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值