python安全编程教程_[ichunqiu笔记] python安全应用编程入门
01 python正则表达式
02 Python Web编程
03 Python多线程编程
04 Python网络编程
05 Python数据库编程
-------------------------------------
01 python正则表达式
对字符串的匹配和检索,通过re模块提供对正则表达式的支持。
. 匹配任意换行符以外的字符
1 #python 3.6
2 importre3 word = 'https://www.ichunqiu.com python_1.1'
4 key = re.findall('h.',word)5 print (key)
结果是['ht', 'hu', 'ho']
\ 转义字符
#python 3.6
importre
word= 'https://www.ichunqiu.com python_1.1'key= re.findall('\.',word)print (key)
['.', '.', '.']
[...]字符集。对应的位置可以是字符集中任意字符,可以逐个列出也可以给出范围,如[abc]或[a-c]。第一个字符是^则代表取反,[^abc]代表不是abc的其他字符
预定义字符集
\d 数字[0-9] a\dc a1c
\D 非数字[^\d] a\Dc abc
\s 空白字符 a\sc a c
\S 非空白字符 abc
\w 单词字符[a-z A-Z 0-9] abc
\W 非单词字符 a c
* 匹配前一个字符0次或无限次
+ 匹配前一个字符1次或无限次
? 匹配前一个字符0次或1次
{m} 匹配前一个字符m次
{m,n} 匹配前一个字符m-n次
| 左右表达式任意匹配一个
(..) 一个分组
贪婪模式与非贪婪模式
Python里的数量词默认是贪婪的,总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。
例如正则表达式ab*如果用于查找abbbc将找到abbbb,如果是非贪婪的ab*?,将找到a。
查找课程
http = ...
title = re.findall(r'title="(.*?)" onclick',http)for i intitle:print (i)
02 python web编程
关键词:urllib/urllib/requests、爬虫开发
1 importurllib,urllib22 url = 'http://www.baidu.com'
3 r =urllib.urlopen(url) //发送请求4 print r.read() //接受回显
urllib.urlretreve(url,fliename = None,reporthook=None,data=None) //下载文件
urllib2.Requests() //控制请求头
urllib.urlretrieve('地址“',filename='E:\\google.png') //下载图片
requests
发送网络请求 requests.get(url) requests.post(url) requests.head(url)
为URL传递参数payload={'key1':'value1';'key2','valu2'} r = requests.get(url,params=payload) //r.url=xxxx/get?key2=value2
响应内容 r.text r.content
定制请求头 headers = {'content-type':'application/json'}
复杂的POST请求payload={'key1':'value1';'key2','valu2'} r = requests.post(url,data=payload)
状态码 r.status_code
响应头 r.headers
Cookie r.cookies
请求超时 r = requests.get(url,timeout = 0.1)
网络爬虫
页码由字符串处理,加入headers头,可以用BP抓出来
r=request.get(url=url,headers=headers)
03 python多线程
进程是程序的一次执行,每个进程都有自己的地址空间、内存、数据栈及其他记录其运行轨迹的辅助数据。
所有的线程运行在同一个进程当中,共享相同的运行环境。线程有开始顺序执行和结束三个部分。
start_new_thread(function,args kwargs=None)
1 importthread2 importtime3 deffun1():4 print 'Hello world!%s'%time.ctime()5 defmain():6 thread.start_new_thread(fun1,())7 thread.start_new_thread(fun1,())8 time.sleep(2)9 if __name__ == '__main__':10 main()
//一个简单的例子
1 //探测C段存活主机2 #coding = utf-8
3 #ping
4 importthread5 importtime6 from subprocess importPopen,PIPE7
8 defping_check(ip):9 check = Popen(['ping.exe',ip],stdin=PIPE,stdout=PIPE)10 data =check.stdout.read()11 if 'TTL' indata:12 print '[OK] %s'%ip13 defmain():14 for i in range(1,255):15 ip = '111.47.226.'+str(i)16 thread.start_new_thread(ping_check,(ip,))17 time.sleep(0.1)18 if __name__ == '__main__':19 main()
threading模块
1 importthreading2 importtime3
4 deffun1(key):5 print 'hello %s:%s'%(key,time.ctime())6 defmain():7 threads=[]8 keys=['danny','nico','nick','pipe']9 threads_count =len(keys) //定义线程数10 for i inrange(threads_count):11 t = threading.Thread(target = fun1,args=(keys[i],))12 threads.append(t)13 for i inrange(threads_count):14 threads[i].start()15 for i inrange(threads_count):16 threads[i].join()17 if __name__ == '__main__':18 main()
生产者-消费者问题和Queue模块
Queue模块 qsize() empty() full() put() get()
04 Python网络编程
05 Python数据库编程
python安全编程教程_[ichunqiu笔记] python安全应用编程入门相关推荐
- python电脑下载教程_苹果电脑python下载安装教程
这个问题我遇到过的,你把现在装的python卸了,装个32位的python就可以了,32位安装包官网上有. . 工具/原料:python.win7电脑一台方法/步骤:1.打开win7电脑,从百度搜索p ...
- python微信使用教程_小白用Python | 十分钟Python玩微信教程
原标题:小白用Python | 十分钟Python玩微信教程 代码放在这里:wzyonggege/python-wechat-itchat 词云那里可以换成小黄人图片 ---------------- ...
- python输出最大值教程_实例讲解Python中整数的最大值输出
在Python中可以存储很大的值,如下面的Python示例程序: x = 10000000000000000000000000000000000000000000; x = x + 1 print ( ...
- wedo巡线机器人编程教程_这是一个机器人和编程的时代
图中在草地上自在奔跑的机器人是波士顿动力公司(BostonDynamics) 开发的类人双足机器人Atlas,由麻省理工(MIT)电子工程与计算机科学系的教授马克·雷波特在1992年创立,一直致力于将 ...
- python scrapy菜鸟教程_scrapy学习笔记(一)快速入门
安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 首先我们安装Scrapy. pip install sc ...
- python大神教程_大神python教程415集全套,拿走不谢
大神的教程 由北京尚学堂高淇老师亲自录制,2019Python自学教程全新升级为<Python+数据分析+机器学习>能力逐级提升,打造技能更全面的全栈工程师. Python作为一种编程语言 ...
- python web.py教程_如何用Python汇款:Web3.py教程
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. Python开发人员对于以太坊和区块链库的技术练习. 警告:下面的教程包含这些元素:显式加密.点对点金融服 ...
- python标签使用教程_怎样用Python做标签云
怎样用Python做标签云 标签云是比较直观的频率分布表现方式,很多网站和APP在年度盘点和总结时会使用.Python生成标签云有一个比较易用的库 pytagcloud. Python做标签云的具体方 ...
- python爬虫安装教程_环境安装-Python 原生爬虫教程 | IT大叔
环境安装 了解了一些 Python 爬虫的基本知识之后,我们要正式开始 Python 爬虫的学习了,因为是要使用 Python 语言来进行爬虫开发,所以首先要在电脑上安装 Python ,那么这节课我 ...
最新文章
- Vue中v-if和v-show的使用场景
- javascript实现yield
- sql 中使用 where 1=1 和 where 1=0的作用
- android gridview item添加checkbox,手把手教你实现GridView中Checkbox全选
- mysql视图子查询_mysql创建视图不能包涵子查询的解决办法。View's SELECT contains a subquery in the FROM clause...
- Kafka笔记-Spring Boot消费者构造
- 使用js获取IE浏览器版本
- pytorch中lr_scheduler的使用
- 通过反射调用方法会大大降低性能
- PyTorch并行与分布式(一)概述
- win10系统中如何把自带的IE11降级回IE8?
- 为贝尔吉比特电信G-120W-B光猫添加自动重启功能
- 微带滤波器摘要_微带线带通滤波器设计
- SpringCloud-Netflix
- 给某个div加一个小三角形
- java 取系统当前时间_java获取当前系统时间方法
- html页面上传文件mui,mui 文件上传注意问题
- Steam云状态无法同步怎么办?
- JSP+structs图书管理系统
- 小甲鱼第5章:列表、元组和字符串(半整理)