![](https://img-blog.csdnimg.cn/20200423201042192.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
文章平均质量分 64
Python
苦涩2020
这个作者很懒,什么都没留下…
展开
-
Python异常:IndentationError: unexpected unindent
Python异常:IndentationError: unexpected unindent异常分析:缩进问题,Python是按空格进行分割代码块的解决办法:按提示在给出错误的行数附近查看,是否缩进有误...原创 2018-10-30 21:24:49 · 25483 阅读 · 0 评论 -
File was loaded in the wrong encoding: 'UTF-8'
File was loaded in the wrong encoding: ‘UTF-8’错误分析:当我们打开一个文件,可是中文出现乱码,这是可能因为我们文件使用UTF-8进行编辑,而Windows默认使用GBK编码格式,所以导致打开文件时出现乱码解决方法一:在打开的文本中解决(治标不治本)。点击图中右下角的UTF-8,选择GBK,在弹出的窗口中选择Reload(重载)解决方法二:...原创 2018-10-17 18:40:43 · 56122 阅读 · 7 评论 -
Python异常:TypeError: a bytes-like object is required, not 'str'
Python异常:TypeError: a bytes-like object is required, not ‘str’import jsonstr = [{"userName" : "UserPython", "age" : 20}, (2, 3), 1]with open("jsonTest.txt", "wb"原创 2018-10-17 18:10:50 · 4737 阅读 · 0 评论 -
Python_Proxy代理
文章目录urllib方式Requests方式urllib方式第一步:创建一个代理处理器ProxyHandlerurllib.request.ProxyHandler(proxies=None)ProxyHandler是一个类,其参数是一个字典:{“协议类型” :“代理IP:端口号”}。使请求通过代理。如果给定代理,它必须是一个字典映射协议名称到代理的url。默认情况下,从环境变量_pr...原创 2018-10-21 17:01:50 · 3735 阅读 · 0 评论 -
Python爬虫_Cookie
文章目录Cookie状态管理Cookie处理Cookie状态管理由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理Cookie和Session都用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决HTTP无状态的问题...原创 2018-10-20 20:00:09 · 889 阅读 · 0 评论 -
Python_urllib
文章目录简介urllib.request简介urllib是一个集合几个处理URL模块的包:urllib.request 用于打开和阅读URL中内容urllib.error 包含由urllib.request发生的异常urllib.parse 用于解析URLurllib.robotoparse 用于解析robots.txt文件urllib.requesturllib.reques...原创 2018-10-20 10:15:44 · 720 阅读 · 0 评论 -
Python爬虫_HTTP标准
文章目录简介HTTP请求过程HTTP状态码含义HTTP头部信息简介HTTP协议(超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,减少网络传输。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先与图形)等。之后的Python爬虫开发,主要就是和HTTP协议打交道HTTP请求过程HTTP协议采取的...转载 2018-10-19 19:55:25 · 277 阅读 · 0 评论 -
Python_XPath
文章目录简介XPath节点简介XPath是一门在XML文档中查找信息的语言,被用于在XML文档中通过元素和属性进行导航。XPath虽然是被设计用来搜索XML文档,不过它也能很好地在HTML文档中工作,并且大部分浏览器也支持通过XPath来查询节点。在Python爬虫开发中,经常使用XPath查找提取网页中的信息,因此XPath非常重要XPath既然叫Path,就是一路径表达式的形式来指定元素...原创 2018-10-18 11:04:58 · 563 阅读 · 0 评论 -
Python_JSON
文章目录常用方法Python对JSON文件的操作分为编码和解码,通过JSON模块来实现。编码过程是把Python对象转换成JSON对象的一个过程,常用的两个函数是dumps和dump函数。两个函数的唯一区别就是dump把Python对象转换成JSON对象,并将JSON对象通过fp文件流写入文件中,而dumps则是生成了一个字符串。常用方法json.dumps(obj, skipkeys=F...原创 2018-10-17 16:28:47 · 222 阅读 · 0 评论 -
Python爬虫_数据存储
文章目录HTML正文抽取多媒体文件抽取Email提醒HTML正文抽取HTML正文存储主要分为两种格式:JSON和CSV储存为JSON需求:抽取小说标题、章节、章节名称和链接首先使用Requests访问http://seputu.com/,获取HTML文档内容,并打印文档内容import requestsuser_agent = "Mozilla/5.0 (Windows NT 10...转载 2018-10-18 21:42:45 · 458 阅读 · 0 评论 -
Python爬虫_BeauifulSoup
文章目录简介BeautifulSoup的使用对象种类简介BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库,他能够通过你喜欢的转换器实现惯用的文档导航、查找、修改文档的方式。安装BeautifulSoup、lxmlpip install beautifulsoup4pip install lxmlbeautifulsoup支持python标准库中的...转载 2018-10-14 19:48:35 · 381 阅读 · 0 评论 -
Python爬虫_Requests
文章目录响应与编码响应与编码转载 2018-10-13 18:33:12 · 235 阅读 · 0 评论 -
Python爬虫_乱码、转码
文章目录乱码问题描述利用encode和decode解决乱码问题乱码问题描述在爬取网页时,出现中文乱码情况,如下图:原因:源网页编码和爬取下来后的编码格式不一致利用encode和decode解决乱码问题字符串在python内部的表示是Unicode编码,在做编码转换时,通常需要以Unicode作为中间编码,即先将其他编码的字符串解码(decode)成Unicode,再从Unicode...原创 2018-10-13 11:34:02 · 3542 阅读 · 0 评论 -
Scrapy_CSS选择器
文章目录Scrapy——CSS选择器E: 选中E元素E1, E2: 选中E1和E2元素E1 E2: 选中E1后代元素中的E2元素E1>E2: 选中E1子元素中的E2元素[ATTR]: 选中包含ATTR属性的元素[ATTR = VALUE]: 选中包含ATTR属性且值为VALUE的元素E:nth-child(n): 选中E 元素,且该元素必须是其父元素的第n 个子元素E:frist-child...原创 2018-11-08 16:32:04 · 627 阅读 · 0 评论 -
Scrapy_XPath选择器
文章目录XPath选择器基础语法常用函数XPath选择器XPath即XML路径语言,它是一种用来确定xml文档中某个部分位置的语言基础语法下面通过一个HTML文档讲解各个语法from scrapy.selector import Selectorfrom scrapy.http import HtmlResponsebody = """<html> <h...原创 2018-11-08 16:20:29 · 275 阅读 · 0 评论 -
Scrapy_LinkExtractor
文章目录使用LinkExtractor提取链接描述LinkExtractor提取规则LinkExtractor构造器参数描述使用LinkExtractor提取链接提取页面链接有Selector和LinkExtractor两种方法因为链接也是页面中的数据,所以可以使用与提取数据相同的方法进行提取,在提取少量(几个)链接或提取规则比较简单时,使用selector就足够了Scrapy提供了一个专...原创 2018-11-08 16:03:21 · 1514 阅读 · 1 评论 -
Python_异常
自定义异常class myException(Exception): def __init__(self, msg): self.msg = msgtry: raise myException("触发我的异常") #触发异常except myException as e: print(e) #>>>触发我的异常 ...原创 2018-04-21 10:58:50 · 130 阅读 · 0 评论 -
Python 列表 count( )方法
描述list.count( obj ):统计并且返回指定元素 obj 在列表 list 中的出现次数语法list.count( obj )参数obj:指定需要统计的列表某个元素返回值返回该指定元素 obj 在列表中出现的次数示例#coding=utf-8lst = [5, "DaSheng", "JS Boom", 2, 5, "JS Boom", 5]print("...原创 2019-09-23 19:48:33 · 934 阅读 · 0 评论 -
Python 列表 reverse( )方法
描述list.reverse( ):对列表 list 所有元素进行逆序排列语法list.reverse( )参数NA返回值该方法没有返回值,但会将列表所有元素反向排列示例#coding=utf-8lst = [0, 1, "JS Boom1", 2, 3, "JS Boom2"]lst.reverse()print(lst)示例运行结果['JS Boom2...原创 2019-09-23 23:24:04 · 2127 阅读 · 0 评论 -
Python 列表 index( )方法
描述list.index( obj ):返回列表 list 中第一个值为 obj 的元素的下标,若不存在值为 obj 的元素,则抛出异常语法list.index( obj )参数obj:查找的对象返回值返回查找对象的索引位置,如果在列表中没有找到,则抛出异常示例#coding=utf-8lst = [5, "DaSheng", "JS Boom", 2, 5, "JS B...原创 2019-09-23 23:24:24 · 3842 阅读 · 1 评论 -
Python 列表 sort( )方法
描述list.sort( ):对列表中的元素进行排列,排序时直接修改原列表,如果指定参数则按照指定的规则对所有元素进行排序,默认规则是直接比较元素大小语法list.sort( cmp = None, key = None, reverse = False)参数cmp:可选参数, 如果指定了该参数会使用该参数的方法进行排序key:是带一个参数的函数,返回一个值用来排序,默认为 Non...原创 2019-09-23 23:08:33 · 1051 阅读 · 0 评论 -
Python 列表 sorted( )函数
描述sorted( ):对列表进行排序,但不对原列表做任何修改,而是返回一个排序后新的列表语法sorted( obj, key = None, reverse = False)参数obj:指定的列表对象key:指定排序规则,带一个参数的函数reverse:指定升序还是降序返回值返回一个新的列表示例#coding=utf-8lst = [0, 1, 5, 4, 3, 7...原创 2019-09-24 23:27:39 · 371 阅读 · 0 评论 -
Python 列表(List)
文章目录序列序列序列:按顺序排成的行列序列是Python中最基本的数据结构之一。序列中的每个元素都分配一个索引(这个索引类似于它的身份证号,代表它在序列中的位置),第一个元素的索引是0,第二个元素的索引是1,依此类推,所以最后一个元素的索引是 N - 1。序列都可以进行的操作包括索引,切片,加,乘,检查成员等Python中常用的序列的类型有:列表、元组、字典、字符串、集合等,序...原创 2019-09-19 08:49:41 · 313 阅读 · 0 评论 -
Python_面向对象
文章目录类的定义数据成员-实例变量与类变量类的定义Python使用class关键字来定义类,class关键字之后是一个空格,接下来是类的名字,如果派生(继承)自其他基类的话,则需要把所有基类放到一对圆括号中并使用逗号分隔,然后是一个冒号,最后换行并定义类的内部实现。类的首字母一般要大写语法格式 :class 类名(object):定义构造方法,实例化时初始化类的属性 &nb...原创 2018-10-22 18:51:49 · 243 阅读 · 0 评论 -
Python_正则表达式
简介正则表达式是对字符串操作的一种逻辑公式。它作为一种字符串的匹配模式,用于查看指定字符串是否存在于被查找字符串中、替换指定字符串或者通过匹配模式查找指定字符串。 需要定义一个用于匹配的模式字符串以及一个匹配的对象:源字符串。简单的匹配:test = re.match("hello", "hello python!")其中“hello”是模式,“hello python!”是源——...原创 2018-04-09 19:53:42 · 181 阅读 · 0 评论 -
Python_类的特殊成员方法
1. __doc__ 描述类的信息class Foo(object): # 单引号和双引号都可以 """这里描述类的信息""" def func(self): passprint(Foo.__doc__) #>>>这里描述类的信息2. __call__ 对象后面加括号,触发执行# __call__方法的执行是由对象加括号触发的,即:对象()或者 ...原创 2018-04-15 09:48:45 · 384 阅读 · 0 评论 -
Python_反射
''' 反射 hasattr(obj, name):判断一个对象obj里是否包含名为name的属性或方法(hasattr是通过调用getattr(object, str)是否抛出异常来实现的) getattr(obj, name, "default"):如果对象obj中有属性或者方法name,则打印属性str或者打印方法的地址(方法地址加上()即可运行方法),否则打印def...原创 2018-04-15 21:39:24 · 217 阅读 · 0 评论 -
Python_套接字、IPv4和简单的客户端/服务器编程
《Python网络编程攻略》学习笔记TCP用主机的IP地址加上主机的端口号作为TCP连接的端点,这种端点叫做套接字(socket)或插口获取远程设备的IP地址import socketdef get_remote_machine_info(): remote_host = "www.python.org" try: print("IP address...转载 2018-04-22 17:08:16 · 278 阅读 · 0 评论 -
Python_内置模块2
getopt模块该模块是通过sys.argv获取用户输入的参数而专门用来处理命令行参数的。格式:getopt.getopt(args, shortopts, longopts = []),该函数有两个返回值Opts 和 Argsargs 为被解析的参数列表:sys.argv[1:] 从1开始是为了过滤掉argv列表里的第一个元素(argv列表里的第一个元素为执行脚本的名字)...原创 2018-04-30 10:19:01 · 218 阅读 · 0 评论 -
Python_生成器Generator
简介生成器是用来创建Python序列的一个对象,可以用它迭代庞大的序列而不需在内存中创建和存储整个序列,因为它仅仅保存了这个序列的推算算法。Python3中range()是标准的一个生成器主要作用:为迭代器产生数据创建一个生成器generator方法一:通过列表生成式改成生成器,只需将列表生成式的“[]”改成“()", 就等于创建了一个生成器generatorL= [i fo...原创 2018-03-31 19:50:01 · 516 阅读 · 0 评论 -
Python_内置模块1
os模块对目录的操作os.getcwd() 获取当前工作目录,即当前Python脚本工作的目录路径import osprint(os.getcwd())# C:\Users\Administrator\Desktopos.chdir("dirname") 切换当前脚本工作路径import osprint("切换前所在的工作路径为:",os.getc...原创 2018-04-03 20:44:51 · 263 阅读 · 0 评论 -
Python_模块Module
简介随着程序的开发,功能会不断添加,为了使结构清晰、易于维护,我们通常会将其拆分成好多个文件。除此之外,还可能会在多个程序中使用一些已编写过的函数或变量,但为了程序的简洁又不想重复定义函数或变量,为此,可以将已经定义好的函数或变量放在一个文件中,这样的文件被称为模块。或者可以直接将Python文件理解为一个模块。 定义:用来从逻辑上组织Python代码(变量、函数、类、逻辑:实现一...原创 2018-04-02 20:17:10 · 407 阅读 · 0 评论 -
Python_文件操作
文章目录简介文件对象常用方法与属性简介数据库文件、图像文件、音频和视频文件、可执行文件、Office文档、动态链接库文件等,都以文件的形式存储在不同的存储设备(如磁盘、U盘、光盘、云盘等)上,按文件中数据的组织形式可以把文件分为文本文件和二进制文件两大类文本文件文本文件存储的是常规字符串,由若干文本行组成,通常每行以换行符 “\n” 结尾。常规字符串是指记事本之类的文本编辑器能正常显示、编...原创 2018-10-16 09:42:28 · 363 阅读 · 0 评论 -
Python_argparse
简介argparse是Python的一个命令行解析器1、创建解析器 ArgumentParserimport argparseparser = argparse.ArgumentParser(prog = "my_program", usage = "%(prog)s [options] usage", description = "help信息前显示的信息———我的arg...原创 2018-07-05 21:46:36 · 438 阅读 · 0 评论 -
Python_socketserver
socketserver的模块简介socketserver模块简化了网络服务器的编写。它有4个类:TCPServer、UDPServer、UnixStreamServer、UnixDatagramServer。这4个类是同步进行处理的,即同一个服务器只能服务一个客户端,如果其他客户端连接服务器,则该客户端处于阻塞状态,直到前一个客户端断开连接才能与服务器交互。另外通过ThreadingMi...原创 2018-05-05 20:56:26 · 196 阅读 · 0 评论 -
Python_Socket实现简单的ssh/ftp
Socket实现简单的sshssh_服务器端import socketimport osimport timehost = "0.0.0.0"def echo_server(port): """A simple echo server""" #Create a TCP socket sock = socket.socket() #Enabl...原创 2018-05-04 11:01:45 · 244 阅读 · 0 评论 -
Python_多进程编程
multiprocessing 多进程多进程的创建及使用import multiprocessing, timedef run(name): time.sleep(2) print("hello", name)if __name__ == "__main__": for i in range(10): p = multiprocessin...原创 2018-09-06 16:34:06 · 179 阅读 · 0 评论 -
Python_多线程编程
简介线程是操作系统能搞够进行运算调度的最小单位。它把被包含在进程之中,所有的线程运行在同一个进程中,共享相同的运行环境,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 一个程序执行的实例就是一个进程 同一个进程里的所有线程是共享同一块内存空间的,所以同一个进程的多有线程之间可以直接交流;而进程的内存是独立的,所以两...原创 2020-02-04 16:52:21 · 356 阅读 · 0 评论 -
Python_协程
协程协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:线程是一种用户态的轻量级线程。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的的寄存器上下文和栈。因此:协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态,换种说法:进入上一次离开时所处逻辑流的位...原创 2018-09-08 15:48:03 · 124 阅读 · 0 评论 -
Python_列表生成式
简介列表生成式是Python内置用来快速创建列表list的方法生成一个list[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以直接用list(range(1, 11)L = list(range(1,11))print(L)#>>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]还可以生成你想要的值,如:生成的列表每个元素都平方...原创 2018-04-01 00:00:18 · 494 阅读 · 0 评论