自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 数据提取(三):xpath -在lxml中使用xpath语法以获取标签、属性、内容

hello.html<html><body> <div> <ul> <li class="item-0"><a href="link1.html">first item</a></li> <li class="item-1"><a href="link2.html">second item</a>&lt

2020-11-25 13:35:24 4657

原创 数据提取(二):xpath - lxml从字符串和文件中解析html代码 etree.html(),etree.tostring(),etree.parse(),etree.HTMLParser()

一、lxml库简述lxml库是一个HTML、XML的解析器,主要功能是如何解析和提取HTML、XML数据。它和正则一样是用 C 实现的,是一款高性能的 Python HTML/XML 解析器,可以利用之前学习的XPath语法,来快速的定位特定元素以及节点信息。lxml python 官方文档:http://lxml.de/index.html需要安装C语言库,可使用 pip 安装:pip install lxml二、lxml库的基本使用(1)从字符串中解析HTML代码:etree.html(str

2020-11-24 17:50:01 5787 3

原创 数据提取(一):Xpath - 语法

一、Xpath简述:https://www.runoob.com/xpath/xpath-intro.htmlxpath(XML Path Language)是一门在XML、HTML文档中查找信息的语言,可用来在XML HTML文档中对元素和属性进行遍历二、Xpath Helper简述:https://www.cnblogs.com/tinghai8/p/9552539.htmlxPath helper 是xpath的开发工具,是一款 Chrome 浏览器的开发者插件/Firefox插件为Try Xp

2020-11-24 14:31:33 529

原创 requests库(一):

安装 pip install requests官方文档 http://docs.python-requests.org/zh-CN/latest/index.html官方中文文档https://requests.readthedocs.io/zh_CN/latest/github地址:http://github.com/requests/requests还可以在pycharm中安装第三方库 file->settings->project->+...

2020-11-20 23:16:50 139 1

原创 cookie(一)http.cookiejar模块:两种方法实现模拟登录、cookie本地保存和加载

一、cookie基本概念介绍二、cookie模拟登录""""访问一个需要登录的网站需要加入cookie在headers中以访问知乎热榜https://www.zhihu.com/hot为例不登录无法访问热榜的内容 :从程序控制台输出的网页内容中ctrl+F查找网页中复制的内容 发现找不到,即使我们在headers中加了User-Agent也访问不了热榜内容解决方法一: headers中加入从https://www.zhihu.com/hot网页复制的cookie 注意仅仅在 hea

2020-11-20 17:53:13 3078

原创 urllib库(三)parse模块:quote()/quote_plus(),unquote()/unquote_plus(),quote_from_bytes()

y

2020-11-19 15:15:24 10924

原创 urllib库(二)parse模块:urlparse()/urlsplit(),parse_qs()/parse_qsl(),urlunparse()/urlunsplit(),urlencode()

tt

2020-11-18 21:39:29 1804

原创 urllib库(一)request模块:urlopen(),Request() 实现 get/post,urlretrieve() 下载网页文件,ProxyHandler()设置代理

一、urllib库python3内置的urllib库不需要安装直接import导入该库中主要模块有:urllib.request:用来打开和读取URL,是一个请求模块urllib.error:包含了urllib.request产生的异常,是一个异常处理模块urllib.parse:用来解析和处理URL,是一个解析模块urllib.robotparse:用来解析页面的robots.txturllib.response:响应模块>>> help(urllib)Help on

2020-11-18 00:07:32 1536 1

原创 HTTP简述(一):URL解析、请求方法post/get、请求头参数、响应码,chrome抓包工具

2020-11-15 13:32:46 2526

原创 文件(二)open()read()readline()readlines()write()writelines()close() flush()remove()tell()seek()with-as

一、open()file = open(file_name [, mode='r' [ , buffering=-1 [ , encoding = None ]]])file:表示要创建的文件对象。file_name:要创建或打开文件的文件名称,该名称要用引号(单引号或双引号都可以)括起来。 如果要打开的文件和当前执行的代码文件位于同一目录,则直接写文件名即可; 否则,此参数需要指定打开文件所在的完整路径。 mode:可选参数,用于指定文件的打开模式。如果不写,则默认以只读(r)模式打开文件,

2020-11-14 23:57:55 666

原创 文件(一)文件路径os.path.join()、os.getcwd()、os.chdir()、路径存在判断、文件文件夹判断、绝对路径相对路径转换

一、文件路径文件夹名称和文件名Windows 和OS X 不区分大小写,Linux 区分大小写Windows 路径使用反斜杠\作为分隔符 OS X 和 Linux 路径使用正斜杠/作为分隔符如果想要程序运行在所有操作系统上,在编写 Python 脚本时,就必须处理这两种情况。os.path.join() 函数可以实现如果将单个文件和路径上的文件夹名称的字符串传递给它,os.path.join() 就会返回一个文件路径的字符串,包含正确的路径分隔符。>>> impor

2020-11-14 20:53:01 6503

原创 异常处理(一)try-except,try-except-else,try-except-finally,raise,sys.exe_info(),traceback

异常类型含义SyntaxError语法错误AssertionErrorassert 后的条件为假时,程序停止运行抛出异常AttributeError当试图访问的对象属性不存在时抛出的异常IndexError索引超出序列范围会引发此异常KeyError字典中查找一个不存在的关键字时引发此异常NameError尝试访问一个未声明的变量时,引发此异常TypeError不同类型数据之间的无效操作ZeroDivisionError除法运算中...

2020-11-14 19:57:15 258

原创 类(四)C++、Java、Python中属性、构造方法初始化顺序、父类子类构造方法调用顺序、初始化参数列表

一、C++1、不存在继承时候类的实例化顺序:先声明/初始化类中变量,再执行构造函数变量的声明/初始化顺序又按照先静态再非静态无论创建几个对象, 该类的静态成员只构建一次, 所以静态成员的构造函数只调用1次class MyClass{ public MyClass(int a) //3. 然后才是执行构造函数 { val = a; } public int val = 20; //1. 首先声明int型变量val并赋值20 public int i = 10; //2. 其次声明in

2020-11-14 17:03:23 517

原创 类(三)MetaClass元类和 type函数的两种用法:查看对象类型、动态创建类

一、typetype(obj) type(name, bases, dict)以上这 2 种语法格式,各参数的含义及功能分别是:第一种语法格式用来查看某个变量(类对象)的具体类型,obj 表示某个变量或者类对象。第二种语法格式用来创建类name 表示类的名称;bases 表示一个元组,其中存储的是该类的父类;dict 表示一个字典,用于表示类内定义的属性或者方法。#查看 3.4 的类型print(type(3.4))#查看类对象的类型class CLanguage: p

2020-11-13 14:56:47 132

原创 类(二)继承(父类方法重载/重写)、多态、封装

Python 类的三大特性 :封装、继承、多态一、继承Python 是多继承机制(和 C++ 一样),即一个子类可以同时拥有多个直接父类子类继承父类时在定义子类时,将父类(可以是多个)放在子类之后的圆括号里即可继承是相对子类来说的,即子类继承自父类;派生是相对父类来说的,即父类派生出子类。class 类名(父类1, 父类2, ...): 类定义部分**如果没有显式指定继承哪个类,默认继承 object 类(object 类是 Python 中所有类的父类,即要么是直接父类,要么是间接

2020-11-12 20:49:29 580

原创 类(一)属性和方法: 实例属性、类属性、局部属性,实例方法self、类方法cls、静态方法 ,重载、重写、覆盖辨析

类中用 @classmethod 修饰的方法为类方法;用 @staticmethod 修饰的方法为静态方法;不用任何修改的方法为实例方法。方法与函数的最大的区别就是方法必须通过类或者类的实例对象来调用 不可以单独调用而函数可以单独调用类初始化方法/构造方法__init__(self)在类的实例对象创建时就会执行初始化方法 初始化方法没有返回值 或者return None初始化方法中self.variableName=value 表明实例初始化时就具有了variableName属性并且属性的值为v

2020-11-12 17:27:25 2032 1

原创 函数(五) 函数式编程 lambda、map、filter

一、lambda表达式lambda 表达式又称匿名函数,常用来表示内部仅包含 1 行表达式的函数。如果一个函数的函数体仅有 1 行表达式,则该函数就可以用 lambda 表达式来代替语法格式是:name = lambda [参数列表] : 表达式...

2020-11-12 15:36:32 209 1

原创 函数(三)作用域之变量作用域、函数嵌套中局部函数作用域、默认值参数作用域

一、非嵌套函数下全局变量与局部变量的使用x=200>>> def f2():... print(x)...>>> f2()200x=200>>> def f2():... x=100... print(x)...>>> f2()100在函数体外定义的变量,一定是全局变量,例如:add = "http://c.biancheng.net/shell/"def text():

2020-11-12 01:39:25 1263 2

原创 函数(二)函数返回值之返回多个返回值、返回条件运算表达式的值、返回函数对象、返回None

一、函数返回多个值如果程序需要有多个返回值,既可将多个值包装成列表之后返回,也可直接返回多个值,如果 Python 函数直接返回多个值,Python 会自动将多个返回值封装成元组,在函数调用时则可以直接使用元组或者序列解包来接收该函数的返回值def sun_adn_avg(list): sum = 0 count = 0 for e in list: if isinstance(e, int) or isinstance(e, float):

2020-11-11 22:42:05 2404 1

原创 函数(一)参数传递之位置参数/关键字参数/默认参数/可变长度参数/序列解包/函数参数,函数添加函数说明文档

一、参数传递机制根据实际参数的类型不同,参数传递方式可分为 2 种:值传递和引用(地址)传递1、值传递:适用于实参类型为不可变类型(字符串、数字、元组);2、引用/地址传递:适用于实参类型为可变类型(列表,字典);def demo(obj) : obj += obj print("形参值为:",obj)print("-------值传递-----")a = "C语言中文网"print("a的值为:",a)demo(a)print("实参值为:",a)print("----

2020-11-11 20:11:09 3316

原创 循环(三)循环跳出 break、continue,循环中增加else

Python 提供了 2 种强制离开当前循环体的办法:使用 continue 语句,可以跳过执行本次循环体中剩余的代码,转而执行下一次的循环。只用 break 语句,可以完全终止当前循环。一、breakbreak 语句可以立即终止当前循环的执行,跳出当前所在的循环结构。无论是 while 循环还是 for 循环,只要执行 break 语句,就会直接结束当前正在执行的循环体。若要使用break同时跳出内层和外层循环最简单的方法就是借用一个 bool 类型的变量。在跳出内循环时更改 flag 的值,

2020-11-10 17:25:35 6830

原创 循环(二)for循环应用:列表解析、字典解析

列表解析式是将一个列表(实际上适用于任何 可迭代对象(iterable) )转换成另一个列表的工具。在转换过程中,可以指定元素必须符合一定的条件,才能添加至新的列表中,这样每个元素都可以按需要进行转换。...

2020-11-10 16:39:21 4504 1

原创 循环(一)流程控制if-elif-else、while、for,pass、assert语句,range()/zip()/enumerate()函数

python语句后面没有分号一、 if - elif - else语句Python 是一门非常独特的编程语言,通过缩进来识别代码块,具有相同缩进量的若干行代码属于同一个代码块, 因此不要胡乱缩进,代码块一定要有缩进,没有缩进的不是代码块。另外,同一个代码块的缩进量要相同,缩进量不同的不属于同一个代码块。建议缩进 1 个 Tab 键的位置,或者缩进 4 个空格;它们两者其实是等价的,很多编辑器都可以将 Tab 键设置为 4 个空格,比如,IDLE 中默认 Tab 键就是 4 个空格。在其他语言中(如

2020-11-10 16:24:10 327

原创 二分查找、袖珍计算、牛顿迭代求近似值,二分查找越界避免、袖珍计算器法(对数和指数运算)误差问题

例题一牛顿迭代 或 二分查找 判断是否是有效完全平方数注意看java和python的区别(除法取整+循环结构书写)注意各种语言代码的细微差异例题二x的平方根 牛顿迭代+二分查找+袖珍计算器法官方解答内置的ln函数就是log不带底二分越界避免 (left+right)/2换成left+(right-left)/2...

2020-11-01 12:55:49 311 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除