由于工作的需求,需要用python做一个类似网络爬虫的采集器。虽然Python的urllib模块提供更加方便简洁操作,但是涉及到一些底层的需求,如手动设定User-Agent,Referer等,所以选择了直接用socket进行设计。当然,这样的话,需要对HTTP协议比较熟悉,HTTP协议这里就不做讲解了。整个python的代码如下:#!/usr/binenvpythonimportsockethost="www.baidu.com"se=socket.so
系统 2019-09-27 17:52:30 2116
importhashlibdef_verfy_ac(private_key,params):items=sorted(params.items(),key=lambdax:x[0])params_data=""foriinitems:params_data=params_data+i[0]+i[1]params_data=params_data+private_keysign=hashlib.sha1()sign.update(params_data.en
系统 2019-09-27 17:52:26 2116
看python社区大妈组织的内容里边有一篇讲python内存优化的,用到了__slots__。然后查了一下,总结一下。感觉非常有用python类在进行实例化的时候,会有一个__dict__属性,里边有可用的实例属性名和值。声明__slots__后,实例就只会含有__slots__里有的属性名。#coding:utf-8classA(object):x=1def__init__(self):self.y=2a=A()printa.__dict__print(
系统 2019-09-27 17:52:11 2116
子曰:“工欲善其事,必先利其器。”学习Python就需要有编译Python程序的软件,一般情况下,我们选择在Python官网下载对应版本的Python然后用记事本编写,再在终端进行编译运行即可,但是对于我这样懒的小白,我喜欢装一些方便的软件来辅助我编写程序。在学习Java时,正常情况选择安装JDK然后配置环境变量后,用记事本编写程序再在终端编译运行即可,而我一般选择安装JDK+MyEclipse。将Python和Java进行类比的话,在Python中使用P
系统 2019-09-27 17:51:16 2116
如果设置了本地环境变量,可直接执行#coding=utf-8#-*-coding:utf-8-*-importxlwtimportrandomnumList=[]#设置表格样式defset_style(name,height,bold=False):style=xlwt.XFStyle()font=xlwt.Font()font.name=namefont.bold=boldfont.color_index=4font.height=heightstyle
系统 2019-09-27 17:50:33 2116
目录一、Python基础1.数据类型和变量2.字符串和编码3.list和tuplelisttuple4.条件判断5.循环6.dict和setdictset二、函数1.调用函数2.定义函数3.函数的参数位置参数默认参数可变参数关键字参数命名关键字参数参数组合4.递归函数三、高级特性1.切片2.迭代3.列表生成式4.生成器5.迭代器四、函数式编程1.高阶函数map/reducefiltersorted2.返回函数3.匿名函数4.装饰器5.偏函数五、模块六、面向
系统 2019-09-27 17:49:08 2116
这篇文章主要介绍了python制作英语翻译小工具代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下用python爬虫可以制作英语翻译小工具。来看下代码吧~importrequests,json#函数封装deftranslator():session=requests.session()i=input('请问你要翻译什么?')url='http://fanyi.youdao.com/translate'
系统 2019-09-27 17:48:32 2116
最近敲代码的时候主要遇到两大问题,第一个是构造自己包的时候找不到package。构造自己package谈两条经验,有助于解决这个问题。1自己构造包的名称尽量不要和Python自带的包重名,起的名字个性化一点。要不然出的bug都不知道错在哪2只要打算把这个文件夹当成一个包,就一定要在这个文件夹同一目录下新建一个__init__.py文件(内容可以为空)一般来说注意这两点,构建包就不成问题。在包的文件夹里面的.py文件称之为模块(文件名就是模块名),当然包里也
系统 2019-09-27 17:48:06 2116
5.16列表生成式l=[]foriinrange(100):l.append('egg%s'%i)print(l)l=['egg%s'%iforiinrange(100)]l=['egg%s'%iforiinrange(1000)ifi>10]print(l)5.17列表生成式与生成器表达式的应用names=['egon','alex_sb','wupeiqi','yuanhao','lxx']res=map(lambdax:x.upper(),name
系统 2019-09-27 17:48:05 2116
1.首先需要一个python的tgz包,这里以Python3.6.8的包为例;2.解压Python.tgz;3.安装所需要的依赖:#yum-ygroupinstalldevelopment#yum-yinstallzlib-devel#yum-yinstallgcc#yuminstall-ylibffilibffi-devel#yuminstallopenssl-devel4.开始编译安装python3:#./configure--with-ssl#mak
系统 2019-09-27 17:47:49 2116