整理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),现在如下图的效果: 由上面的效果图可以看到其实是一个在一个圆上换不同 ...
随机推荐
- hadoop spark 总结
yarn 由,资源管理器rm,应用管理器am appMaster,节点管理器nm 组成! 图侵删 yarn 的设计,是为了代替hadoop 1.x的jobtracker 集中式一对多的资源管理「资源 ...
- PAT_A1109#Group Photo
Source: PAT A1109 Group Photo (25 分) Description: Formation is very important when taking a group ph ...
- js声明变量作用域会提前
var s = 1; function test() { console.info(s); var s = 2; console.info(s); } test(); >>>unde ...
- PY简易爬虫
然而,实用性很差,仅仅是能用而已. 已知bug: 由于土啬的问题,经常会炸掉.网络不稳定导致各种Connection Aborted/SSLError: EOF occurred in violati ...
- 35.multi-index和multi-type搜索模式
一.multi-index和multi-type搜索模式 /_search:所有索引,所有type下的所有数据都搜索出来 /index1/_search:指定一个index,搜索其下所有typ ...
- 使用Layer完成图片放大功能
序言:在写这个功能之前也用了zoom.js,zoom.js用起来简单引用js然后设置图片属性就可以放大.但是放大后的图片模糊.没有遮罩.在放大图片时其它图片布局会受到影响,当然如果觉得这些都是小问题的 ...
- EXTJS之Ext.util.Observable自定义事件
暂时还不会用Ext.mixin.Observable, 催悲的测试了近两个小时.这TMD的语法差距也太大了啊.. 在新版EXTJS里,已去除了addEvents. 弄个出来,大概知道下吧. <! ...
- [bzoj2789][Poi2012]Letters_树状数组
Letters bzoj-2789 Poi-2012 题目大意:给定两个字符串A和B,每次交换A中相邻两个数.问至少交换多少次,可以将A变成B. 注释:$2\le n\le 10^6$ 想法:我们发现 ...
- MRv1到MRv2
概述 引入YARN作为通用资源调度平台后.Hadoop得以支持多种计算框架,如MapReduce.Spark.Storm等. MRv1是Hadoop1中的MapReduce,MRv2是Hadoop2中 ...
- 2.【SELinux学习笔记】概念
1.强制类型的安全上下文 在SELinux中,訪问控制属性叫做安全上上下文.不管主体还是客体都有与之关联的安全上下文.通常安全上下文是由三部分组成:用户:角色:类型. 如: $id -Z j ...