整理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),现在如下图的效果: 由上面的效果图可以看到其实是一个在一个圆上换不同 ...
随机推荐
- vue http请求 vue自带的 vue-resource
vue-resource安装 npm install vue-resource --save-dev 配置 在main.js中引入插件 //Resource 为自定义名 vue-resource 为插 ...
- PAT_A1076#Forwards on Weibo
Source: PAT A1076 Forwards on Weibo (30 分) Description: Weibo is known as the Chinese version of Twi ...
- scrapy-redis使redis不止保存url
先看scrapy-redis源码 class RedisMixin(object): """Mixin class to implement reading urls f ...
- 【剑指Offer】38、二叉树的深度
题目描述: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 解题思路: 本题相对比较简单.根据二叉树深度的定义 ...
- 数据挖掘系列 (1) 关联规则挖掘基本概念与 Aprior 算法
转自:http://www.cnblogs.com/fengfenggirl/p/associate_apriori.html 数据挖掘系列 (1) 关联规则挖掘基本概念与 Aprior 算法 我计划 ...
- js实现cookie有效期至当次日凌晨
实际开发中有要求用户一些行为每天一次,次日开始重新回复功能,一般前端都是通过cookie来记住用户的操作,然后进行判断当日是否还有机会,这时候需要给存储的cookie值一个有效期,让次日自动失效,重新 ...
- 洛谷——P1095 守望者的逃离
https://www.luogu.org/problem/show?pid=1095#sub 题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交 ...
- bootstrap-table 表头和内容对不齐
问题: bootstrap-table.js 找到 BootstrapTable.prototype.resetView if (this.options.showHeader && ...
- 反射常用API
反射所有功能都是通过class API来实现的 class常用API有: 1.class.GETINTERFACES():获得这个类实现的接口. 2.class.getMethods() Method ...
- java构造函数重载this(true)
看storm的代码的时候,发现这样一句java代码, 很是不理解 google之后,发现原来是java语法中,构造函数重载,this()调用的其实就是 构造函数.This is constructor ...