整理Py小demo
from email.mime.text import MIMEText
# 第一个参数就是邮件正文,第二个参数是MIME的subtype,
# 传入'plain'表示纯文本,最终的MIME就是'text/plain',最后一定要用utf-8编码保证多语言兼容性。
msg=MIMEText('Hello Send By Python123','plain','utf-8') import smtplib
server =smtplib.SMTP_SSL('smtp.qq.com',465)
server.set_debuglevel(1)
# essplrlkpwcvbfci
# server.ehlo()
# server.starttls()
server.login('912549963@qq.com','xxxx是邮箱客户端的一列序列号')
server.sendmail('912549963@qq.com','18437963713@163.com',msg.as_string())
server.quit() # from email.mime.text import MIMEText
# msg = MIMEText('hello, send by Python5656', 'plain', 'utf-8')
# import smtplib
# server = smtplib.SMTP_SSL('smtp.qq.com', 465) # SMTP协议默认端口是25
# server.set_debuglevel(1)
# server.ehlo()
# server.starttls()
# server.login('912549963@qq.com','nrabssgxathrbfhh')
# server.sendmail('912549963@qq.com','18437963713@163.com', msg.as_string())
# server.quit()
邮箱
# import urllib.request
# import re
# import os
# import urllib
# #根据给定的网址来获取网页详细信息,得到的html就是网页的源代码
# def getHtml(url):
# page = urllib.request.urlopen(url)
# html = page.read()
# return html.decode('UTF-8')
#
# def getImg(html):
# reg = r'src="(.+?\.jpg)" pic_ext'
# imgre = re.compile(reg)
# imglist = imgre.findall(html)#表示在整个网页中过滤出所有图片的地址,放在imglist中
# x = 0
# path = 'D:\\test'
# # 将图片保存到D:\\test文件夹中,如果没有test文件夹则创建
# if not os.path.isdir(path):
# os.makedirs(path)
# paths = path+'\\' #保存在test路径下
#
# for imgurl in imglist:
# urllib.request.urlretrieve(imgurl,'{}{}.jpg'.format(paths,x)) #打开imglist中保存的图片网址,并下载图片保存在本地,format格式化字符串
# x = x + 1
# return imglist
# html = getHtml("http://tieba.baidu.com/p/2460150866")#获取该网址网页详细信息,得到的html就是网页的源代码
# print (getImg(html)) #从网页源代码中分析并下载保存图片
#endregion
爬取图片 并存在本地文件夹中
from flask import Flask # 导入包 app = Flask(__name__) # 创建一个Web应用 @app.route('/') # 定义路由(Views),可以理解为定义页面的URL
def index():
return "这是用Python + Flask 搞出来的。" # 渲染页面 if __name__ == "__main__":
app.run(host='127.0.0.1',port=8080) # 运行,指定监听地址为 127.0.0.1:8080
# http://127.0.0.1:8080/ 运行这个会返回--》这是用Python + Flask 搞出来的。
创建web应用
if __name__ == '__main__':#这个其实就是在当前模块的时候,_name_的值是__main__,在其他模块引用此模块的话,name的值就是“当前”模块的值。
import urllib.request
url='http://www.sogou.com/'
local_path='E:\download.html'
urllib.request.urlretrieve(url, local_path)
把整个网页爬出来
# a=lambda x:x+2#这里的拉姆达表达示被看成一个函数了
# print(a(1))
# print(a(2))
#
# add = lambda x, y : x+y
# print(add(1,2) ) # 结果为3 # y=lambda a,b,c:(a+b)/c
# print(str(y(1,5,9))[0:5])
Lambda
# from bs4 import BeautifulSoup
# import requests
# from datetime import datetime
# import json
# import re # news_url = 'http://news.sina.com.cn/c/nd/2017-05-08/doc-ifyeycfp9368908.shtml'
# web_data = requests.get(news_url)
# web_data.encoding = 'utf-8'
# soup = BeautifulSoup(web_data.text,'lxml')
# # print(soup.select('a'))
#
# links = soup.findAll('a')
# href=soup.select('.side-tool to-top')
# print(links)
# print(href)
# print(soup.a.string)
# print(soup.a.attrs)
# title = soup.select('#artibodyTitle')[0].text
# a1 = soup.select('a')
# a = soup.select('a')[0]
# aa = soup.select('a')[0]['href']
# print(title)
# print('----------------------------------------------------')
#
# for hrefs in a1:
# print(hrefs.text)
# print(hrefs)
# a= a1.select('a')[2]['href']
# print(a)
# print(hrefs.select('.href'))
# print(a1)
# print(a)
# print(aa)
爬取网页 BeautifulSoup
from bs4 import BeautifulSoup
import requests
from datetime import datetime
import json
import re url='http://news.sina.com.cn/c/nd/2017-05-08/doc-ifyeycfp9368908.shtml'
web_Content=requests.get(url)
web_Content.encoding='utf-8'
soup=BeautifulSoup(web_Content.text,'lxml')
title=soup.select('#artibodyTitle')[0].text print(title) time = soup.select('.time-source')[0].contents[0].strip()
dt = datetime.strptime(time,'%Y年%m月%d日%H:%M')
print(dt)
时间格式化
class Foo: def __init__(self, name, age):
self.name = name
self.age = age def detail(self):
print(self.name)
print(self.age) obj1 = Foo('chengd', 18)
obj1.detail() # Python默认会将obj1传给self参数,即:obj1.detail(obj1),所以,此时方法内部的 self = obj1,即:self.name 是 chengd ;self.age 是 18 # obj2 = Foo('python', 99)
# obj2.detail() # Python默认会将obj2传给self参数,即:obj1.detail(obj2),所以,此时方法内部的 self = obj2,即:self.name 是 python ; self.age 是 99x
函数
# 在这个函数中Yield 是用来返回值得,就好比return
# def addlist(alist):
# for i in alist:
# yield i+1
#
# alist=[1,2,3]
# for x in addlist(alist):
# print(x)
print('----------12121212--------------------------------------------')
def h():
print ('To be brave')
m= yield 5656
print('Fighting!')
cc=h()
mm=cc.__next__()
# print(cc.__next__())
print(mm) print('------------------78979887--------------------------')
def h():
print ('Wen Chuan')
mm = yield 5555
print ('Fighting!') c = h()
m = c.__next__()
print('mm value is ',m) print('-------------------------------------------------------------------')
def h():
print ('Wen Chuan')
m = yield 5 # Fighting!
print (m)
d = yield 12
print ('We are together!')
c = h()
c.__next__() #相当于c.send(None)
c.send('Fighting!') #(yield 5)表达式被赋予了'Fighting!' print('-----------rrrrrrrrrrrrrrrrrrrrrrr----------------------------------------')
def h():
print ('Wen Chuan',)
mm = yield 5 # Fighting!
print (m)
ddd = yield 12
print ('We are together!')
c = h()
m = c.__next__() #m 获取了yield 5 的参数值 5 ---- 可能是遇到的第一个yield的值
d = c.send('Fighting!') #d 获取了yield 12 的参数值12 ---- send里的参数会把第一个yield替换掉。然后c.send()获取第二个yield的值
print ('We will never forget the date', m, '.', d)
# send(msg) 和 next()是有返回值的,它们的返回值很特殊,返回的是下一个yield表达式的参数
yield Next Send
整理Py小demo的更多相关文章
- Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)
Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer Advanced Installer :Free for 30 da ...
- selenium 3+python3.6+firefox的windows详细环境搭建以及小demo
最近也是学习了下selenium和python,就记录了下在自己工作机上环境的搭建过程以及小demo 1,安装python3.6.1 我是去官网直接下载当前最新版的python3.6.1 官网网址为h ...
- 聊聊UDP、TCP和实现一个简单的JAVA UDP小Demo
最近真的比较忙,很久就想写了,可是一直苦于写点什么,今天脑袋灵光一闪,觉得自己再UDP方面还有些不了解的地方,所以要给自己扫盲. 好了,咱们进入今天的主题,先列一下提纲: 1. UDP是什么,UDP适 ...
- 新手 gulp+ seajs 小demo
首先,不说废话,它的介绍和作者就不在多说了,网上一百度一大堆: 我在这里只是来写写我这2天抽空对seajs的了解并爬过的坑,和实现的一个小demo(纯属为了实现,高手请绕道); 一.环境工具及安装 1 ...
- Nancy之基于Nancy.Hosting.Self的小Demo
继昨天的Nancy之基于Nancy.Hosting.Aspnet的小Demo后, 今天来做个基于Nancy.Hosting.Self的小Demo. 关于Self Hosting Nancy,官方文档的 ...
- Nancy之基于Nancy.Owin的小Demo
前面做了基于Nancy.Hosting.Aspnet和Nancy.Hosting.Self的小Demo 今天我们来做个基于Nancy.Owin的小Demo 开始之前我们来说说什么是Owin和Katan ...
- Nancy之基于Self Hosting的补充小Demo
前面把Hosting Nancy with ASP.NET.Self Hosting Nancy和Hosting Nancy with OWIN 以demo的形式简单描述了一下. 这篇是为Self H ...
- [Unity3D]做个小Demo学习Input.touches
[Unity3D]做个小Demo学习Input.touches 学不如做,下面用一个简单的Demo展示的Input.touches各项字段,有图有真相. 本项目已发布到Github,地址在(https ...
- Android -- 自定义View小Demo,动态画圆(一)
1,转载:(http://blog.csdn.NET/lmj623565791/article/details/24500107),现在如下图的效果: 由上面的效果图可以看到其实是一个在一个圆上换不同 ...
随机推荐
- python 动态修改 类和实例 的方法
相信很多朋友在编程的时候都会想修改一下已经写好的程序行为代码,而最常见的方式就是通过子类来重写父类的一些不满足需求的方法.比如说下面这个例子. class Dog: def bark(self): p ...
- Keras手写识别例子(1)----softmax
转自:https://morvanzhou.github.io/tutorials/machine-learning/keras/2-2-classifier/#测试模型 下载数据: # downlo ...
- Linux思维导图之文件压缩
- python爬虫05 | 年轻人,不会正则表达式你睡得着觉?有点出息没有?
现在 你已经会使用 python 模拟浏览器 进行一些 Http 的请求了 那么请求完之后 服务器返回给我们一堆源代码 我们可不是啥都要的啊 我们是有原则的 我们想要的东西 怎么能一股脑的啥都往自己兜 ...
- Codeforces 805D/804B - Minimum number of steps
传送门:http://codeforces.com/contest/805/problem/D 对于一个由‘a’.‘b’组成的字符串,有如下操作:将字符串中的一个子串“ab”替换成“bba”.当字符串 ...
- VS2015 C++ 获取 Edit Control 控件的文本内容,以及把获取到的CString类型的内容转换为 int 型
UpdateData(true); //读取编辑框内容,只要建立好控件变量后调用这个函数使能,系统就会自动把内容存在变量里 //这里我给 Edit Control 控件创建了一个CString类型.V ...
- 【Educational Codeforces Round 53 (Rated for Div. 2) C】Vasya and Robot
[链接] 我是链接,点我呀:) [题意] [题解] 如果|x|+|y|>n 显然.从(0,0)根本就没法到(x,y) 但|x|+|y|<=n还不一定就能到达(x,y) 注意到,你每走一步路 ...
- JavaSE 学习笔记之接 口(六)
接 口: 1:是用关键字interface定义的. 2:接口中包含的成员,最常见的有全局常量.抽象方法. 注意:接口中的成员都有固定的修饰符. 成员变量:public static final ...
- CSS行高line-height的学习
一.定义和用法 line-height 属性设置行间的距离(行高). 可能的值 normal默认.设置合理的行间距. number设置数字,此数字会与当前的字体尺寸相乘来设置行间距. length设置 ...
- redis-linux上安装redis
单机版本 因为redis是c++写的,我们首先需要安装c++环境 1.在linux安装c++源码编译器 需要联网 linux输入yum -y install gcc gcc-c++ 2.官网下载red ...