Python内置了多种类型的数据结构,常用的有:列表、元组、集合和字典。本文主要介绍列表和元组。列表(list)和元组(tuple)定义列表和元组,都是一个可以放置任意数据类型的有序集合。列表和元组的区别列表是动态的,长度大小不固定,可以随意增加、删减或者改变元素(mutable)。元组是静态的,长度大小固定,无法增加删减或改变(immutable)。如果要对已有的元组做任何“改变”,只能重新开辟一块内存,创建新的元组。#列表(list)list=[1,2
系统 2019-09-27 17:47:55 2176
如果你还在为python的各种urllib和urlibs,cookielib头疼,或者还还在为python模拟登录和抓取数据而抓狂,那么来看看我们推荐的requests,python采集数据模拟登录必备利器!这也是python推荐的HTTP客户端库:本文就以一个模拟登录的例子来加以说明,至于采集大家就请自行发挥吧。代码很简单,主要是展现python的requests库的简单至极,代码如下:s=requests.session()data={'user':'
系统 2019-09-27 17:47:52 2176
一python特殊属性1总述属性含义_name_类,函数,方法等的名字_module_类定义所现在的模块名_class_对象或类所属的类_bases_类的基类的元素,顺序为他们在基类列表中出现的顺序_doc_类/函数的文档字符传,如果没有定义则为None_mro_类的mro,class.mro()返回_dict_类或实例的属性,可写的字典_dir_返回了类或者对象所有成员列表,dir()函数调用的是_dir_(),如果提供了_dir_(),则返回属性列表,
系统 2019-09-27 17:47:04 2176
本文将从以下几点来介绍protobuf:1.安装2.定义protobuf消息格式3.编译protobuf4.读写protobuf1.安装下载protobuf。下载地址添加环境变量。将proto.exe所在的路径名放在path下。如图:2.定义protobuf消息格式我们将要使用的示例是一个非常简单的“地址簿”应用程序,可以在文件中读取和写入人员的联系人详细信息。地址簿中的每个人都有姓名,ID,电子邮件地址和联系电话号码。要创建地址簿应用程序,需要从.pro
系统 2019-09-27 17:46:17 2176
本文以实例形式展示了Python获取电脑硬件信息及状态的实现方法,是Python程序设计中很有实用价值的技巧。分享给大家供大家参考之用。具体方法如下:主要功能代码如下:#!/usr/bin/envpython#encoding:utf-8fromoptparseimportOptionParserimportosimportreimportjsondefmain():try:parser=OptionParser(usage="%prog[options]
系统 2019-09-27 17:45:58 2176
一、什么是Selenium?Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:SeleniumIDE、SeleniumWebDriver和SeleniumGrid。SeleniumIDE:Firefox的一个扩展,它可以进行录制回放,并把录制的操作以多种语言(例如java、python等)的形式导出成测试用例。SeleniumWebDriver:提供Web自动化所需
系统 2019-09-27 17:45:45 2176
Django带来了一个高级的聚合生成框架,它使得创建RSS和Atomfeeds变得非常容易。什么是RSS?什么是Atom?RSS和Atom都是基于XML的格式,你可以用它来提供有关你站点内容的自动更新的feed。了解更多关于RSS的可以访问http://www.whatisrss.com/,更多Atom的信息可以访问http://www.atomenabled.org/.想创建一个联合供稿的源(syndicationfeed),所需要做的只是写一个简短的p
系统 2019-09-27 17:38:46 2176
解析树完成树的实现之后,现在我们来看一个例子,告诉你怎么样利用树去解决一些实际问题。在这个章节,我们来研究解析树。解析树常常用于真实世界的结构表示,例如句子或数学表达式。图1:一个简单句的解析树图1显示了一个简单句的层级结构。将一个句子表示为一个树,能使我们通过利用子树来处理句子中的每个独立的结构。图2:((7+3)*(5−2))的解析树如图2所示,我们能将一个类似于((7+3)*(5−2))的数学表达式表示出一个解析树。我们已经研究过全括号表达式,那么我
系统 2019-09-27 17:38:25 2176
我们可以通过python来实现这样一个简单的爬虫猜密码功能。下面就看看如何使用python来实现这样一个功能。这里我们知道用户的昵称为:heibanke密码是30以内的一个数字,要使用requests库循环提交来猜密码主要需要用到的库是requests库安装requests库复制代码代码如下:pipinstallrequests要使用到的request库的功能是表单的提交复制代码代码如下:requests.post(url,data)#通过post()语言
系统 2019-09-27 17:38:03 2176
爬虫需要,一个机器多个口,一个口多个ip,为轮询这些ipdemo#coding=utf-8importrequests,sys,socketfromrequests_toolbelt.adaptersimportsourcereload(sys)sys.setdefaultencoding('utf-8')s=requests.Session()new_source=source.SourceAddressAdapter('192.168.4.2')s.m
系统 2019-09-27 17:56:57 2175
os模块中关于文件/目录常用的函数使用方法函数名使用方法getcwd()返回当前工作目录chdir(path)改变工作目录listdir(path=’.’)列举指定目录中的文件名(’.‘表示当前目录,’…'表示上一级目录)mkdir(path)创建单层目录,如该目录已存在抛出异常makedirs(path)递归创建多层目录,如该目录已存在抛出异常,注意:'E:\a\b’和’E:\a\c’并不会冲突remove(path)删除文件rmdir(path)删除单
系统 2019-09-27 17:56:19 2175
image花下猫语:近日,Python之父在Medium上开通了博客,并发布了一篇关于PEG解析器的文章(参见我翻的全文译文)。据我所知,他有自己的博客,为什么还会跑去Medium上写文呢?好奇之下,我就打开了他的老博客。最后一篇文章写于2018年5月,好巧不巧,写的竟是pgen解析器,正是他在新文中无情地吐槽的、说将要替换掉的pgen。在这篇旧文里,Guido回忆了他创造pgen时的一些考量,在当时看来,创造一个新的解析器无疑是明智的,只不过时过境迁,现
系统 2019-09-27 17:54:18 2175
项目上线部署的时候需要服务端的同学帮忙打Docker,但是自己也需要提前写好requirements.txt。这里记录一下两种生成requirements.txt的方法。方法一:在项目根目录下,在命令行中输入:pipfreeze>requirements.txt这种方法会将当前环境下的所有的信息都存入requirements.txt中。方法二:首先安装pipreqs库。进入需要生成文件的目录执行:pipreqs./如果出现报错:UnicodeDecodeE
系统 2019-09-27 17:54:12 2175
背景说明感觉微信公众号算得是比较难爬的平台之一,不过一番折腾之后还是小有收获的。没有用Scrapy(估计爬太快也有反爬限制),但后面会开始整理写一些实战出来。简单介绍下本次的开发环境:python3requestspsycopg2(操作postgres数据库)抓包分析本次实战对抓取的公众号没有限制,但不同公众号每次抓取之前都要进行分析。打开Fiddler,将手机配置好相关代理,为避免干扰过多,这里给Fiddler加个过滤规则,只需要指定微信域名mp.wei
系统 2019-09-27 17:53:47 2175
1.linux下消息记录关于系统的各种消息一般都会记录在/var/log/messages文件中,有些主机在中默认情况下有可能没有启用,具体配置方法可参考下面这篇博客:系统日志配置/var/log/messages2.python代码实现原理其实很简单,就是读/var/log/messages文件,找到有关usb的信息就可以了。#!/usr/bin/envpythonusbmsg=open("/var/log/messages","r")forlinein
系统 2019-09-27 17:50:15 2175