目录python
基础: os,sys,time,datetime,json,pickle,randon,hashlib,re,math,logging 爬虫: requests,BeautifulSoup,xpath,gevent,asyncio,twisted 数据分析: pandas,numpy,scipy,matplotlib,seaborn 等。。。
pip3 install 模块名称
match:匹配开头mysql
search:匹配从上至下查找web
import re s1 = 'abcabcabc' print(re.match('abc', s1).group()) # abc print(re.match('abc', s1).span()) # (0, 2) print(re.search('bca', s1).group()) # bca print(re.search('bca', s1).span()) # (1, 4)
贪婪匹配: 默认都是贪婪匹配。贪婪匹配都是取大,好比: *表示零次更屡次、+表示一次或屡次、?表示零次或一次 默认贪婪匹配时:*表示屡次、+表示屡次、?表示一次 取消贪婪匹配: 量词后面加问号(?)。 eg: 待匹配:李杰和李莲英和李二棍子 正则表达式:李.+? 结果:李杰 李莲 李二 ,由于+后面跟了?,因此+表示一次 res3 = re.findall('李.?','李杰和李莲英和李二棍子') print(res3) # 结果:['李杰', '李莲', '李二'] 转义符: \ : 取消转义 eg: \\n 表示\n
用random随机模块 import random print(random.randint(0, 9)) # 随机取一个0-9的数字,包含头尾 print(random.random) # 取0-1之间的小数 print(random.choice([1, 2, 3, 4])) # 随机从列表中取一个值 print(random.uniform(1,10))#1-10小数,如1.927109612082716 random.randrange(1,10,2) # 大于等于1且小于10之间的奇数
用os模块 import os os.remove('文件名')
在咱们平时编写的程序,基本上都会有记录日志的需求,而且日志当中包含的内容既有正常的程序访问,又有错误,警告等信息输出,在python的logging模块当中就提供了标准的日志接口,能够经过它来存储各类格式的日志. logging模块也分为五个等级: debug(), info(), warning(), error(), critical() 其中默认级别为warning,默认打印到终端 """ 开发应用程序或部署开发环境时,能够使用DEBUG或INFO级别的日志获取尽量详细的日志信息来进行开发或部署调试;应用上线或部署生产环境时,应该使用WARNING或ERROR或CRITICAL级别的日志来下降机器的I/O压力和提升获取错误日志信息的效率。 """
能够处理的数据类型是 string、int、list、tuple、dict、bool、null # 自定义时间序列化转换器 import json from json import JSONEncoder from datetime import datetime class ComplexEncoder(JSONEncoder): def default(self, obj): if isinstance(obj, datetime): return obj.strftime('%Y-%m-%d %H:%M:%S') else: return super(ComplexEncoder,self).default(obj) d = { 'name':'alex','data':datetime.now()} print(json.dumps(d,cls=ComplexEncoder))
# ensure_ascii=False 中文不转码 import json a=json.dumps({"ddf":"你好"},ensure_ascii=False) print(a) #{"ddf": "你好"}
import os print(os.listdir(path))
import re if re.match(r'^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$', email): print('right') else: print('wrong')
1. Django 2. Flask 3. web2py 4. Tornado 5. Twisted 6. TurboGears
requests:请求库 BeautifulSoup:解析库 selenium:自动化测试工具 pyquery:网页解析库 pymysql:存储库。操做mysql数据库的 pymongo:操做mongodb数据库的 urllib.request 请求模块 模拟浏览器 urllib.error 异常处理模块 urllib.parse url解析模块 工具模块,如:拆分、合并 urllib.robotparser robots.txt 解析模块
1.Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 能够应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用这个框架能够轻松爬下来如亚马逊商品信息之类的数据。 2.PySpider pyspider 是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用经常使用的数据库进行爬取结果的存储,还能定时设置任务与任务优先级等。 3.Crawley Crawley能够高速爬取对应网站的内容,支持关系和非关系数据库,数据能够导出为JSON、XML等。 4.Portia Portia是一个开源可视化爬虫工具,可以让您在不须要任何编程知识的状况下爬取网站!简单地注释您感兴趣的页面,Portia将建立一个蜘蛛来从相似的页面提取数据。 5.Newspaper Newspaper能够用来提取新闻、文章和内容分析。使用多线程,支持10多种语言等。 6.Cola Cola是一个分布式的爬虫框架,对于用户来讲,只需编写几个特定的函数,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。 7.Grab Grab是一个用于构建Web刮板的Python框架。借助Grab,您能够构建各类复杂的网页抓取工具,从简单的5行脚本处处理数百万个网页的复杂异步网站抓取工具。Grab提供一个API用于执行网络请求和处理接收到的内容,例如与HTML文档的DOM树进行交互。
import datetime y = int(input('请输入4位数字的年份:')) # 获取年份 m = int(input('请输入月份:')) # 获取月份 d = int(input('请输入是哪一天:')) # 获取“日” targetDay = datetime.date(y, m, d) # 将输入的日期格式化成标准的日期 dayCount = targetDay - datetime.date(targetDay.year - 1, 12, 31) # 减去上一年最后一天 print('%s是%s年的第%s天。' % (targetDay, y, dayCount.days))