python
文章平均质量分 72
Ghost_02
在下是一名苦逼的泥瓦工
展开
-
学习笔记之python学习入门
1.python入门编程 首先,就像C语言一样。第一个入门的编程一定是hello,world了。python使用的是print,和一些地方和shell有些像,但有些地方又和c有点像。>>> print "hello,world"hello,world也可以和c语言一样输出%d,%f等东西>>> print "%s is number %d" %('python',1)pyt原创 2016-11-27 21:19:57 · 454 阅读 · 0 评论 -
scrapy 的命令行
Scrapy命令行Scrapy是通过scrapy命令行工具控制的,在这里被称为“Scrapy工具”,以区别于我们刚刚称之为“命令”或“Scrapy命令”的子命令。首先创建 scrapy项目。[root@lol spider]# scrapy startproject testprojectNew Scrapy project 'testproject', using template原创 2017-11-06 20:27:17 · 852 阅读 · 0 评论 -
python 获取系统基础信息
系统基础信息包括 Linux基本性能,块设备,网卡接口,系统信息,网络地址库等信息。使用的是psutil模块。安装方法十分简单 pip install psutil 就好 内存信息查看物理内存的total值和物理内存的used值。>>> import psutil>>> mem = psutil.virtual_memory()>>> print 't原创 2017-11-07 16:55:34 · 788 阅读 · 0 评论 -
爬虫基础-- 正则基础
re模块是python 中专门处理正则相关的模块下面专门介绍一下正则表达式。相关的正则测试网站推荐一个。 http://tool.oschina.net/regex/ re.matchre.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。re.match(patter原创 2017-10-22 14:08:28 · 315 阅读 · 0 评论 -
Python IP 的处理模块
IPY ip的处理方面经常需要处理 大量的IP地址。包括网络性能,网络掩码,广播地址,子网数,IP类型进行判断。IPy 模块就可以很好的解决这个问题。安装方式# pip install IPy判断 ip 的类型>>> from IPy import IP>>> ip = IP('192.168.1.2')>>> ip.version()4原创 2017-11-08 15:25:47 · 590 阅读 · 0 评论 -
爬虫基础-requests库
Python 的requests库requests 是用Python 写的,基于urllib,采用Apache2 Licensed 开源的HTTP库。他比urllib更加方便,可以节约我们大量的工作。完全满足HTTP测试的需求。好了展示一下强大的requests库 实例引入import requestsresponse = requests.get('htt原创 2017-10-25 16:02:09 · 480 阅读 · 0 评论 -
爬虫基础 -- pyquery
Pyquery 强大又灵活的网页解析库,相比而言,正则写起来太麻烦。如果说beautifulsoup语法太难记,如果熟悉jQuery,那么Pyquery是绝佳的选择。Pyquery是模仿jQuery的。初始化 字符串初始化html = ''' first item second item third原创 2017-10-25 17:01:13 · 1308 阅读 · 0 评论 -
爬虫基础 -- 用Flask+Redis维护代理池
因为在爬虫的时候经常经常会遇到封IP 的情况,那么使用代理就可以解决这个问题。池子里面放一些代理,而且需要定期的检查。互联网上公开了大量的免费代理,而且互联网上也有付费的代理。代理池的要求:1.多站抓取,异步检测2.定时筛选,持续更新3.提供接口,易于提取代理池的架构原创 2017-10-25 19:38:11 · 1371 阅读 · 0 评论 -
Pyspider 框架的用法
PyspiderPyspider是国人开发的开源且强大的网络爬虫系统python 脚本控制,可以用任何你喜欢的html解析包(内置 pyquery),WEB 界面编写调试脚本,起停脚本,监控执行状态,查看活动历史,获取结果产出,数据存储支持MySQL, MongoDB, Redis, SQLite, Elasticsearch; PostgreSQL 及 SQLAlchemy,队列服务原创 2017-11-04 16:26:36 · 1822 阅读 · 0 评论 -
python爬虫 -- scrapy框架
Centos 7 安装scrapy 在安装了pyenv的基础上。可以支持多版本的python。再安装相关包。yum install gcc libffi-devel openssl-devel libxml2 libxslt-devel libxml2-devel python-devel -y安装lxml,再安装scrapypip install lxmlpip原创 2017-11-06 16:36:45 · 398 阅读 · 0 评论 -
Django2.0 利用ajax打造博客的评论区
首先评论区是需要前端与后台交互的,前端上接受用户的输入。在输入完成后,立马在评论区显示。首先是urls.py path('article/<int:article_id>/comment',views.comment_view,name='comment'),再着是 forms.py。from django import formsfrom .models import Art...原创 2018-03-18 20:11:38 · 1779 阅读 · 3 评论 -
在Pythonaywhere上部署我的Django项目
在完成一个django网站后,总想向大家展示一下我的作品,但是,又没钱买域名和服务器,难道只能在自己的电脑上运行吗。当然不是。可以在 pythonanywhere.com 上面部署我们的代码。可以直接通过这个网站的域名去访问我们的作品。 首先当然是在 这个网站上申请一个帐号了。申请完成后的界面如下。由于他们支持的python版本和django版本与我们要求...原创 2018-03-21 12:24:18 · 524 阅读 · 0 评论 -
nginx服务器的事件驱动模型
事件驱动模型是Nginx服务器保障完整功能和具有良好性能的重要机制之一。事件驱动模型一般是由事件收集器、事件发送器、事件处理器三部分基本单元组成。在nginx里面有三个库,就是大名鼎鼎的select库,poll库,epoll库。select库 select库,是linux和windows都支持的基本事件驱动模型。并且在接口上的定义基本相同,只是部分的参数可原创 2017-06-07 20:33:25 · 1968 阅读 · 0 评论 -
python 的多进程编程
multiprocess python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。multiprocessing支持子进程、通信和共享数据、执原创 2017-06-07 17:40:54 · 1105 阅读 · 0 评论 -
SocketServer模块学习
SocketServer是Python中的Socket编程的一个重要的模块,有了这个模块可以快速实现一个多线程的Socket服务器。下来看一个简单的使用SocketServer模块建立的聊天室服务器端。#!/usr/bin/python# -*- coding:utf-8 -*-import SocketServerclass MyServer(SocketServer.原创 2017-06-03 13:56:58 · 463 阅读 · 0 评论 -
python中的setattr的使用
在python中经常会遇到给类的__init__方法中创建属性。当要创建的属性是任意给定的时就需要用到setattr这个函数。class Person(object): def __init__(slef,name,gender,birth): slef.name = name slef.gender = gender slef.birt原创 2017-03-03 20:08:49 · 4592 阅读 · 0 评论 -
python的生成器的应用yield--杨辉三角。
首先很多人一定不明白生成器yield是什么意思。其实和它最像的就是return。举个简单的例子吧。return:的用法def fib(n): a=1 b=1 for i in range(0,n+1): a,b=b,a+b return aprint fib(10)打印结果:1Process finished原创 2017-03-03 21:51:45 · 1139 阅读 · 0 评论 -
python的反射
python的反射的例子python 的反射可以将导入模块的动作当成字符串。比如:temp = 'time'module = __import__(temp)print module.localtime()执行结果是:time.struct_time(tm_year=2017, tm_mon=5, tm_mday=25, tm_hour=16, tm_min=27, tm_原创 2017-05-26 16:06:22 · 466 阅读 · 0 评论 -
python 随机生成验证码
首先随机的生成数字或者字母肯定需要的是random模块。random是随机数生成器。import randomprint random.random()print random.randint(1,10)print random.randrange(1,11)以上的是最常见的随机数生成方法,看看打印结果。0.17657593198679没错,第一个含义是0到1之间的随原创 2017-05-26 17:13:28 · 748 阅读 · 0 评论 -
python的序列化和json
python的基础模块序列化 序列化的含义:把一个对象从内存中变成可存储或传输过程称之为序列化原创 2017-05-28 16:36:12 · 634 阅读 · 0 评论 -
python的 @staticmethod,@classmethod和@property的区别
这些装饰器都是用来装饰类里面的方法的,他们都是有什么用处呢?首先,类的一般来说需要实例化后才能调用。但是使用了这前面两个装饰器,就可以不用实例化就可以直接调用类了。直接 类名.方法名() 来调用。这样有助于组织代码。但是他们两个还是有区别的。@staticmethod 不需要表示自身对象的self和自身类的cls参数,就和使用普通的函数一样。@classmethod 不转载 2017-05-28 17:29:30 · 3751 阅读 · 0 评论 -
python 操作Mariadb 数据库
首先我使用的是Pycharm,在操作数据库之前需要先导入相关的模块。这个包叫做MySQLdb,按照网上的教程进行安装。原创 2017-05-30 19:26:51 · 5113 阅读 · 0 评论 -
arp原理(包括arp欺骗测试与防御)
arp协议 地址解析协议,即ARP(Address Resolution Protocol),作用是通过IP地址换取mac地址。我们知道,在局域网内通信靠的是mac地址,而不是ip地址。有些人可能疑惑了,比如我要ping局域网内的网关,不就是ping 192.168.1.1 不就是用的IP地址吗??怎么说用的是mac地址,其实,在ping网关这个IP的时候,需要arp协议去得原创 2017-05-16 21:03:53 · 2667 阅读 · 0 评论 -
python的socket编程基础。
socket 直接切入正题吧,首先,socket编程是分为两个部分,一个客户端,一个服务器端,服务器需要监听在一个端口上,而客户端需要连接这个端口。服务器端和客户端通过send和recv函数去实现。首先,呈现一个超级简单的socket通信的python代码。服务器端:#!/usr/bin/python# -*- coding:utf-8 -*-import so原创 2017-06-01 21:50:16 · 333 阅读 · 0 评论 -
python的文件处理函数open
open 首先open是python内置的一个打开文件,创建一个file对象的方法。与之相似的方法有个file。其功能上没有太大的区别。file object = open(file_name [, access_mode][, buffering])原创 2017-05-13 20:39:13 · 561 阅读 · 0 评论 -
Django 初探
Django Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Django是一个开放源代码的Web应用框架,由Python写成。 开始搭建环境:python2.7 + centos 7.3 + pycharm先安装Django。# pip insta原创 2017-05-22 20:53:31 · 486 阅读 · 0 评论 -
Pycharm,GoLand,Phpstorm等jetbrains在Linux(Centos)下无法输入中文的问题解决。
在Linux下使用tar包解压缩的编程工具存在中文输入不了。却在终端或者网页都可以正常使用中文输入。这是怎么回事呢?首先确保ibus都装好着呢。# yum grouplist hidden |grep "Input" Input Methods就是这个安装组包。# yum groupinstall "Input Methods"若问题还未解决。在 工具的启动文件加点东西。# pwd/o...原创 2018-03-21 18:01:24 · 3746 阅读 · 5 评论