手机随时阅读
新人专享大礼包¥24
最近在学Python的爬虫,昨天试着用多线程去使用不同的代理IP,基本原理是把所有的IP地址都放入一个队列,然后使用多线程地去读取队列里面的值。今天突然想到,类似的方式在PowerShell里面能不能实现呢?PowerShell自己没有直接可以使用的队列模块,不过可以调用.Net里面的类来实现。下面是一个简单的例子$queue=[System.Collections.Queue]::Synchro
很多时候,如果要多线程的爬取网页,或者是单纯的反爬,我们需要通过代理IP来进行访问。下面看看一个基本的实现方法。代理IP的提取,网上有很多网站都提供这个服务。基本上可靠性和银子是成正比的。国内提供的免费IP基本上都是没法用的,如果要可靠的代理只能付费;国外稍微好些,有些免费IP还是比较靠谱的。网上随便搜索了一下,找了个网页,本来还想手动爬一些对应的IP,结果发现可以直接下载现成的txt文件http
前面学习了基本的浏览器伪装的方式,现在来看三个实例:例1爬取CSDN首页的博文思路很简单,伪装浏览器之后,通过正则获取对应的url链接,然后把对应的url的文章都下载下来#!/usr/bin/envpython#!-*-coding:utf-8-*-#Author:YuanLiimportre,urllib.requesturl="http://blog.csdn.net/"header=("Us
公司最近弄了个新的存储Nimblestorage,豆子忙了一个多月,从原先的NetApp上迁移了100多个T的cifs数据。最后的工作需要把VmwareESXi上的虚拟机文件迁移就可以干掉旧的存储了。这个过程本身用StorageVmotion很容易,有一些小地方需要注意一下。基本流程:存储上配置LUN,连接ISCSI,ESXi上创建DatastoreStorageVmotion虚拟机到对应的dat
前面学习了Urllib模块里面最最基本的GET和POST操作。现在做个简单的例子,比如我打算爬http://www.oschina.net/的页面如果使用一样的方法importurllib.requesturl="http://www.oschina.net/"data=urllib.request.urlopen(url).read()他会抛出以下异常raiseHTTPError(req.ful
51CTO博客开发awk教程Ricky's Blog听闻九胖的空间合众聚智
Python的一个很广泛的功能就是爬虫。爬虫可以获取我们需要的资料,甚至进行DDos的工具。爬虫现在比较流行的是Scrapy之类的模块,但是在学习这些工具之前,先了解一下Urllib模块,知道他的基本工作原理。爬虫的基本思路:扫描获取对应的Url,扫描Url网页的内容,通过正则匹配获取需要的内容进行下载。Urllib的官方帮助文档https://docs.python.org/3/library/
最近豆子公司在转移文件服务器,大概有80T的文件需要传送到云端。豆子直接使用了robocopy进行拷贝。因为历史原因,有些文件夹的权限设置比较奇葩,导致豆子的账户也没有权限去访问,这样的结果就是Robocopy里面可能会有几十百甚至上千个文件夹因为权限问题而无法拷贝。robocopy 命令例子robocopy c:\source d:\destination&nbs
豆子平常一般习惯用Nagios监控系统的状态。平常公司使用VEEAM来管理文件的备份和还原,备份的结果一般通过Email发送给豆子。今天心血来潮,想把这个备份的状态在Nagios的监控界面上也展现出来。因为VEEAM本身提供了PowerShell的模块,因此豆子可以通过NSclient++客户端来调用自定义的PowerShell脚本,从而实现监控的目的。1) 自定义的 Powershell脚本&n
QQ群里的Evan童鞋分享了一个很有意思的博客 http://note.youdao.com/noteshare?id=a60709c00fe88cd09155a2ef50815281 大概是如何利用Flask 调用 Powershell API 实现的一个运维管理系统。豆子依葫芦画瓢,用Django成功地实现了有一个简单的界面。 直接用Bootstrap模板弄个前端页面,D
无聊在Github上看见python的趣味练习题,自己试着做了做https://github.com/Yixiaohan/show-me-the-code 第 0000 题: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 这个题目主要是练习对Pillow模块的使用,豆子之前也没用过,今天试了试发现很强大也很方便首先安装C:\Use
Django里面,当我们使用post提交form的时候,如果出现了错误,我们可以直接把错误通过obj传回给前端。如果当我们使用Ajax方式和自定义的form提交数据,这个时候就需要在后端把错误信息序列化,然后传回前端进行反序列化了。对于错误信息,django提供了几种转换的方式。第一种是as_json,他可以把整个错误信息转换为字符串的格式,这样子我们可以直接序列化json.dumps传到前端去。
在前面的例子里面 http://beanxyz.blog.51cto.com/5570417/1963702,已经演示了form可以自动地对正则进行合法的判断,如果不合法,会直接显示错误信息。但是这个功能并不完善,比如说一个数据可能正则判断合法了,但是不符合唯一性的判断,那么怎么处理?我们可以通过 form的 hook(钩子)进行自定义。如果我们查看 Is_valid这个方法,我们可以看见&nbs
在Django里面,看看如何通过form来实现一个动态地select下拉框的效果。首先看看静态的select的效果models.pyclass city(models.Model): name=models.CharField(max_length=32) #确保admin里面显示的是名字而不
简单的记录几个RDP的命令,使用起来比较方便:查看当前连接的远程用户quser /server: sydbcc01退出指定的sessionlogoff /server:sydbcc01 135shadow 查看指定的session,对方会收到提示mstsc /v:sydbcc01 /shadow 135shadow 远程控制指定的session,对方会收到提示mstsc /v:sydbcc01 /
前面豆子已经陆陆续续地学习了在Django中如何操作数据库 单表的基本操作 http://beanxyz.blog.51cto.com/5570417/1945887 常见字段的使用 http://beanxyz.blog.51cto.com/5570417/1945909 最基本的查询方式 http://
最近写的一个小练习,主要是把前面学的东西整合一下。写了一个简单的主机管理界面,主要是练习以下知识点:Session和Cookie进行登录验证(装饰器)数据库的基本操作 (单表,1对多,多对多)Form的简单使用实现验证Bootstrap模板写个简单界面自定义分页信号,中间件,CSRF,模板语言,JavaScript,AJAX等等界面比较low,毕竟不是专业的。附件里面是 Django 的源代码,3
我们已经知道了在Django里面如何从前端向后台发送数据的基本操作。( http://beanxyz.blog.51cto.com/5570417/1944978 )在之前的例子里面,我们的HTML模板里面的form表单都是手动创建的,对于提交的数据类型格式也需要自己写正则表达式进行确认。(例如AJAX的例子http://beanxyz.blog.51cto.com/55704
Django里面还提供了一个功能叫做信号。信号类似触发器,可以指定在某个事件发生前后自动执行对应的函数。Django自带了一些信号,如下所示:Model signals pre_init
在大型网站上,如果访问的流量很多,又有很多动态的内容,这样每次获取一个信息都要去访问数据库,效率就会比较低下。这种情况下,一般都会使用缓存机制,首先去缓存里面找,如果有信息,那么直接获取;没有的话才去数据库获取,然后在缓存里面生成一个数据可以给下一次访问使用。Django里面支持5种常见的缓存设置。开发测试本地内存文件数据库Memcached(或者Redis)这些配置都是在settings.py里
上一篇简单的叙述了CSRF这个中间件的作用,他在执行视图函数之前可以对csrftoken进行验证,如果通过才执行否则直接报错。那么什么是中间件呢?这个要回到Django的生命周期里面。一个基本的生命周期是用户输入一个URL,通过urls.py找到对应的视图函数,然后进行数据处理,返回渲染后的结果。在url和视图函数的匹配过程中,还有一个重要的过程,就是依次执行所有的中间件的类里面的函数。还是以cs
CSRF(Cross-site request forgery),中文名称是跨站请求伪造。什么意思呢?简单的说,就是用户在网站A登录之后,网站生成了对应的Cookie等信息,然后这个时候,用户又打开了网站B,网站B可以在提交表单的时候,指定对象的地址为网站A,这样就对网站A提出了一个请求。为了避免这种恶意请求,一般的方法是在客户端生成一个Token,每次提交来的请求,服务器都会验证这个Token之
公司有个老旧的Windows 2008 Server。周末的时候因为打了Windows的最新升级补丁结果周一直接挂了。豆子尝试恢复快照但是仍然有问题。这个服务器上配置了NPS, 主要是作为无线网和一些交换机登录验证用的。折腾了2个小时还没恢复,于是豆子干脆重新配置一个算了,毕竟Windows 2008也是该淘汰的系统了。找了一台现成的Windows 2008 R2的服务器,花了2个多小时配置了一遍
豆子今天遇见个小问题,发现某个Office365的邮件组的成员组里面居然没有配置邮件,这样导致个别用户没有收到邮件。为了避免这个情况再次发生,需要对所有的邮件组都做个检查。问题在于邮件组可能嵌套了多个组,如果人工去看实在太累,写了个小脚本扫一下。因为是嵌套的组,于是很自然的想到了递归。指定一个邮件组,去扫一下成员,看看该成员是否配置了邮箱地址,如果这个成员刚好又是一个组,那么调用自己,重复上述步骤
Session的基本原理前面说了, Cookie就是一个类似字典的键值对,把数据保存在客户端上,可以是临时保存在内存中,也可以长期保存在硬盘上。Cookie可以通过后台或者前端的Javascript创建,而且在客户端可以直接看见,因此一些敏感信息不适合放在Cookie里面和Cookie相对应的,Session则是在用户访问的时候,创建一个随机的字符串,保存在客户端的Cookie里面,默认名是ses
Cookie是浏览器在客户端留下的一段记录,这段记录可以保留在内存或者硬盘上。因为Http请求是无状态的,通过读取cookie的记录,服务器或者客户端可以维持会话中的状态。比如一个常见的应用场景就是登录状态。Django里面,对cookie的读取和设置很简单。Cookie本身的格式类似字典,因此可以通过request的key或者get获取;然后他的设置则是通过response对象的set_cook
最近总公司要求Office365需要在所有的邮箱上面打开审计功能。这个功能没法通过图形界面操作,只能通过powershell脚本实现。微软提供了一个官方的脚本,不过里面有个小bughttps://technet.microsoft.com/en-us/library/dn879651.aspx#step2 我发现Office365的一个bug:我们有个别用户同时存在一个AD同步的账户,也有clou
Django本身提供了一个分页的类,直接导入就可以使用,不过这个方法只能在Django里面使用。武sir在大家从头写了一个自定义分页的类。这个类的实现的方法和内容基本上可以作为模板在任何语言里面使用,只需要修改对应的语法即可。pagenation.py__author__ = 'Administrator' from django.utils.safestring&n
Djano 默认的安全机制会把后台直接发到前端的数据都当做字符串,这样可以有效避免XSS攻击。比如说views.py 片段里面我传递给前端了一个html格式的字符串和一个Javascript的字符串def tpl4(request): name = "hello my name is&nbs
我们已经知道了在Django的模板里面,可以使用for循环,if判断,接收后台的数据,还可以通过 extends和include来重复使用其他的模板,这一节来学习如何自定义函数。模板里面有两种方式来自定义函数,分别是simple_tag和 filter方式。simple_tag:1 首先在app下创建一个templatetags的目录,然后在这个目录下面创建一个py文件,注意这个目录的名字是固定的
Copyright © 2005-2022 51CTO.COM 版权所有 京ICP证060544号