一、写在前面我写爬虫已经写了一段时间了,对于那些使用GET请求或者POST请求的网页,爬取的时候都还算得心应手。不过最近遇到了一个有趣的网站,虽然爬取的难度不大,不过因为表单提交的存在,所以一开始还是有点摸不着头脑。至于最后怎么解决的,请慢慢往下看。二、页面分析这次爬取的网站是:https://www.ctic.org/crm?tdsourcetag=s_pctim_aiomsg,该网站提供了美国的一些农田管理的数据。要查看具体的数据,需要选择年份、单位、
系统 2019-09-27 17:53:08 2159
做开发中难免时间类型之间的转换,最近就发现前端js和后端django经常要用到这个转换,其中jsDate.now()精确到毫秒,而Python中Datetime.datetime.now()是精确到微秒的。1.字符串日期时间转换成时间戳#'2015-08-2816:43:37.283'-->1440751417.283#或者'2015-08-2816:43:37'-->1440751417.0defstring2timestamp(strValue):tr
系统 2019-09-27 17:53:01 2159
守护进程主进程创建子进程目的是:主进程有一个任务需要并发执行,那开启子进程帮我并发执行任务主进程创建子进程,然后将该进程设置成守护自己的进程关于守护进程需要强调两点:其一:守护进程会在主进程代码执行结束后就终止其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError:daemonicprocessesarenotallowedtohavechildren如果我们有两个任务需要并发执行,那么开一个主进程和一个子进程分别去执行就ok了,如果
系统 2019-09-27 17:52:46 2159
简单定义图轴:importnumpyasnpimportmatplotlib.pyplotasplt创建一个简单的matplotlib实例:fig=plt.figure()rect=fig.patch#arectangleinstancerect.set_facecolor('lightgoldenrodyellow')ax1=fig.add_axes([0.1,0.3,0.4,0.4])rect=ax1.patchrect.set_facecolor('
系统 2019-09-27 17:52:41 2159
上集回顾上一节我们学了一些数字的数学运算,了解了运算优先级PMDAS。变量和命名程序输入和运行结果没问题,不过一开始运行的时候产生了出错消息:这条消息的意思是在第5行的“cars_not_driven=cars-drivers"语句中,变量drivers没有被定义。回到程序中查看,确实是赋值变量drivers的语句中错误拼写了该单词,从而只有drives的变量,而没有我们预期的drivers的变量,用起来自然会产生报错。巩固练习1、使用浮点数作为space
系统 2019-09-27 17:52:36 2159
在程序猿的世界中,线程和进程是一个很重要的概念,很多人经常弄不清线程和进程到底是什么,有什么区别,本文试图来解释一下线程和进程。首先来看一下概念:进程(英语:process),是计算机中已运行程序的实体。进程为曾经是分时系统的基本运作单位。在面向进程设计的系统(如早期的UNIX,Linux2.4及更早的版本)中,进程是程序的基本执行实体;在面向线程设计的系统(如当代多数操作系统、Linux2.6及更新的版本)中,进程本身不是基本运行单位,而是线程的容器。程
系统 2019-09-27 17:52:28 2159
filepath=input('请输入文件名称:')city_list=pocess_json_file(filepath)city_list.sort(key=lambdacity:city['aqi'])#列名lines=[]lines.append(list(city_list[0].keys()))forcityincity_list:lines.append(list(city.values()))f=open('aqi.csv','w',enc
系统 2019-09-27 17:51:58 2159
异常1.定义:运行时检测到的错误。2.现象:当异常发生时,程序不会再向下执行,而转到函数的调用语句。3.常见异常类型:–名称异常(NameError):变量未定义。–类型异常(TypeError):不同类型数据进行运算。–索引异常(IndexError):超出索引范围。–属性异常(AttributeError):对象没有对应名称的属性。–键异常(KeyError):没有对应名称的键。–为实现异常(NotImplementedError):尚未实现的方法。–
系统 2019-09-27 17:50:45 2159
1关于Matplotlib模块Matplotlib是一个由JohnHunter等开发的,用以绘制二维图形的Python模块。它利用了Python下的数值计算模块Numeric及Numarray,克隆了许多Matlab中的函数,用以帮助用户轻松地获得高质量的二维图形。Matplotlib可以绘制多种形式的图形包括普通的线图,直方图,饼图,散点图以及误差线图等;可以比较方便的定制图形的各种属性比如图线的类型,颜色,粗细,字体的大小等;它能够很好地支持一部分Te
系统 2019-09-27 17:49:31 2159
直接赋值和copy的区别:直接赋值:其实就是对象的引用(别名)。浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。深拷贝(deepcopy):copy模块的deepcopy方法,完全拷贝了父对象及其子对象。例子:dict1={'user':'runoob','num':[1,2,3]}dict2=dict1#浅拷贝:引用对象dict3=dict1.copy()#深拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用#修改data数据
系统 2019-09-27 17:49:05 2159