上面的博客把基本的HTML解析库已经说完了,这次我们来给予几个实战的项目。这次主要用Requests库+正则表达式来解析HTML。项目一:爬取猫眼电影TOP100信息代码地址:https://gitee.com/dwyui/maoyan-Requests.git项目二:美食爬取(包含多层爬取)代码地址:https://gitee.com/dwyui/meishi_Requests.git
系统 2019-09-27 17:47:06 1758
在表达式中引用变量时,Python会按照如下的顺序遍历各个作用域,寻找该变量:当前函数作用域任何外围作用域(比如包含当前函数的其他函数)global作用域,即代码所在的模块的作用域如果上述作用域内都找不到变量,就会报NameError异常。但是对变量赋值时,规则会有所不同。如果当前作用域变量已存在,那么其值会被替换。如果不存在,则会视为在当前作用域定义新变量,而不是向外围作用域中寻找。如下函数deffunction():flag=Truedefhelper
系统 2019-09-27 17:46:14 1758
listpython的列表内部实现是数组(具体实现要看解析器,CPython的实现),因此就有数组的特点。超过容量会增加更多的容量,set,get是O(1),但del,insert,in的性能是O(n)。具体的看下表,'n’是容器中当前的元素数,'k’需要操作的元素个数OperationAverageCaseAmortizedWorstCaseCopyO(n)O(n)Append[1]O(1)O(1)InsertO(n)O(n)GetItemO(1)O(1
系统 2019-09-27 17:45:52 1758
如果不用“with”,那么Python会在何时关闭文件呢?答案是:视情况而定。Python程序员最初学到的东西里有一点就是可以通过迭代法很容易地遍历一个打开文件的全文:f=open('/etc/passwd')forlineinf:print(line)注意上面的代码具有可行性,因为我们的文件对象“f”是一个迭代器。换句话说,“f“知道在一个循环或者任何其他的迭代上下文中做什么,比如像列表解析。我的Python课堂上的大多数学生都具有其他编程语言背景,在使
系统 2019-09-27 17:45:26 1758
在介绍yield前有必要先说明下Python中的迭代器(iterator)和生成器(constructor)。一、迭代器(iterator)在Python中,for循环可以用于Python中的任何类型,包括列表、元祖等等,实际上,for循环可用于任何“可迭代对象”,这其实就是迭代器迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引发StopIteration。任何这类的对象
系统 2019-09-27 17:38:45 1758
Python中的包包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的Python的应用环境。考虑一个在Phone目录下的pots.py文件。这个文件有如下源代码:#!/usr/bin/python#-*-coding:UTF-8-*-defPots():print"I'mPotsPhone"同样地,我们有另外两个保存了不同函数的文件:Phone/Isdn.py含有函数Isdn()Phone/G3.py含有函数G3()现在,在Ph
系统 2019-09-27 17:38:41 1758
Pythonsocket网络编程初学python,前段时间买了两本书《python编程从入门到实践》《Python核心编程第三版》,第一本书主要讲的是一些基本语法和一些基本的使用方法,而第二本则深入很多,自己看来也是一知半解,刚好看到了这部分网络编程,依然有好多不太理解的地方,不过想来通过自己不断的摸索,不断地搜寻资料学习,早晚应该会变得通透吧.......这部分主要使用的模块就是socket模块,在这个模块中可以找到socket()函数,该函数用于创建套
系统 2019-09-27 17:38:34 1758
数在Python中,对数的规定比较简单,基本在小学数学水平即可理解。那么,做为零基础学习这,也就从计算小学数学题目开始吧。因为从这里开始,数学的基础知识列位肯定过关了。>>>33>>>33333333333333333333333333333333333333333333333333333333333333333333333333333333L>>>3.2222223.222222上面显示的是在交互模式下,如果输入3,就显示了3,这样的数称为整数,这个称呼
系统 2019-09-27 17:38:22 1758
最近学习了python的一些服务器端编程,记录在此。发送get/post请求#coding:utf-8importhttplib,urllib#加载模块#urllib可以打开网站去拿#res=urllib.urlopen('http://baidu.com');#printres.headers#定义需要进行发送的数据params=urllib.urlencode({'param':'6'});#定义一些文件头headers={"Content-Type"
系统 2019-09-27 17:38:17 1758
JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。今天用py
系统 2019-09-27 17:37:51 1758