![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
一起学python吧
你学废了吗
展开
-
AttributeError: module ‘matplotlib‘ has no attribute ‘verbose‘
今天在使用matplotlib时报错AttributeError: module 'matplotlib' has no attribute 'verbose'刚开始以为是在python interpreter 中安装matplotlib时出现这种错误。其实不是安装错了,也不是代码问题,而是PyCharm的问题。进入 Setting->Tools->PythonScie...原创 2019-12-25 21:45:36 · 333 阅读 · 1 评论 -
日志分析之python编码记录
最近在公司做一个管理系统,其中有一部分功能是需要解析日志,然后根据解析日志的信息再针对相应接口发送请求,对比日志分子中结果和请求后的结果,就是在对比的过程中遇到了问题,这个问题困扰了我两天,所以在此记录一下:1- 首先说一下问题的原因:日志分析出来后有一部分响应中是包含中文的,但是中文被编码了,格式如下:{"message":"\xE6\x88\x90\xE5\x8A\x9F"}这只是...原创 2019-12-26 09:57:43 · 479 阅读 · 0 评论 -
Python
预备知识:空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型。Python的注释以 # 开头,后面的文字直到行尾都算注释# 这一行全部都是注释...print 'hello' # 这也是注释 会输出hello如果一个字符串包含很多需要转义的字符...原创 2020-01-08 23:35:00 · 1076 阅读 · 0 评论 -
python爬虫之网站robots协议的重要性解析-爬虫偏方
在我抓取网站遇到瓶颈,想剑走偏锋去解决时,常常会先去看下该网站的 robots.txt 文件,有时会给你打开另一扇抓取之门。 写爬虫有很多苦恼的事情,比如: 1.访问频次太高被限制; 2.如何大量发现该网站的 URL; 3.如何抓取一个网站新产生的 URL,等等;这些问题都困扰着爬虫选手,如果有大量离散 IP 和账号,这些都不是问题,但是绝大部分公司都不具备这个条...原创 2020-01-08 23:38:27 · 384 阅读 · 0 评论 -
python浅拷贝与深拷贝总结
1,python的简单可变数据类型,比如列表【1,2,3】 这种数据类型的浅拷贝和深拷贝都是开辟新的内存空间存储数据, 保证了数据的独立性(浅拷贝)(深拷贝)2,python中的存在嵌套的数据类型,比如【【“a”,“b”, “c”】,【1,2,3】】 浅拷贝:对整体是开辟了新空间,但是内层数据还是引用,不能保证数据的独立性 深拷贝:对整体是开辟了新空间,内...原创 2020-02-19 19:10:09 · 157 阅读 · 0 评论 -
python日常导包的两种常见方式的区别
python中常见的两种导包方式分别为下面一,二所示方式,但是这两种方式存在着本质上的不同一。 import XX二。 from xx import xx之所以说两者有着本质上的不同是因为使用第二种方式导包实际上是发生了深拷贝比如说现在有公共模块util.py,里面存放着公共变量num=10,如果你使用第一种方式导出此模块中变量使用并更改了该变量,那么其他人在使...原创 2020-02-19 20:02:57 · 1443 阅读 · 9 评论 -
拆包
1,首先看一个简单的函数fun1def fun1(name, age, *args, **kwargs): print(name) print(age) print(args) print(kwargs)fun1(10, 20, 30, 50, a=1, b=2)其输出结果想必都知道是什么:(结果)2,再来看下面一个,在不看结果的...原创 2020-02-19 20:59:15 · 486 阅读 · 0 评论 -
python 之 上下文管理器
首先说一下什么叫上下文管理器: 在python中任何实现了 __enter__() 和 __exit__() 方法的对象都可称之为上下文管理器, 上下文管理器对象可以使用 with 关键字我们可以模拟实现一个类,让该类实现 __enter__() 和 __exit__() 方法class File(): def __init__(self, filen...原创 2020-02-19 22:09:37 · 128 阅读 · 0 评论 -
linux下安装python环境
我们都知道linux下默认安装的是python2.7.5版本,那么如何安装python3呢安装步骤如下: (1)wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz 下载安装包 (2)tar zxvf Python-3.6.5.tgz 解压安...原创 2020-03-11 00:16:53 · 409 阅读 · 0 评论 -
python 使用selenium常见问题(NoSuchElementExpection)之解决方法
在使用selenium时通常会遇到这个问题--> NoSuchElementExpection出现这个问题一般有两个原因:①:使用方法获取element元素时写错,没有在页面上获取到②:获取element元素方法书写正确,但是还是报错,这是因为在请求页面返回之前,程序已经去执行获取element元素得方法了解决办法:第一种,直接改成页面上那个正确得element元素即可第二种,在获取webDriver对象以后,立即使用 wd.implicitly_wait(5)方法..原创 2020-08-07 15:24:29 · 548 阅读 · 0 评论 -
python selenium获取html网页中嵌套的 frame/iframe中的html内容方法
在使用selenium做自动化时,如果遇到的页面结构类似如下结构:<html> <head>...</head> <body> <frame id=xxx, name=***> <html> <span>xx</span> <p>......</p>原创 2020-08-07 16:31:06 · 3229 阅读 · 0 评论 -
python selenium如何切换到新窗口中,并获取其中内容
使用selenium时,会遇到这样的场景:我们在打开一个页面后,点击其中某一处链接,跳转到一个新页面,获取新页面中的内容,完成后再切换回老页面,如何操作??wd = webDriver.chrome("webDriver路径")wd.implicitly_wait(5)wd.get("http://******")link = wd.get_elment_by_tag("XX")link.click()# 获取窗口的标题信息,但是这样获取的是当前页的信息,并不是新打开的页面的标原创 2020-08-07 16:58:48 · 8842 阅读 · 0 评论 -
Python下载图片并保存本地的两种方式
一:使用Python中的urllib类中的urlretrieve()函数,直接从网上下载资源到本地,具体代码:import os,statimport urllib.request img_url="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516371301&...原创 2019-08-05 11:28:01 · 6218 阅读 · 0 评论 -
CentOS6的python2.6升级到python2.7以上版本
前言:一些第三方框架为了降低复杂性,新的版本已经开始不支持旧版本的python,比如Django这个web框架1.8版本及以上仅仅只支持python2.7及以上版本(记忆中是这个1.8版本) pip安装也会弹出响应警告。安装过程中遇到各种各样的问题,在众里寻他千百度情况下,通过一大堆错误的搜索,终于把python版本给升级了。 但这个版本升级不是完全的替换,只是让我们新版本的pytho...原创 2019-08-05 13:57:34 · 181 阅读 · 0 评论 -
pip install urllib时报错from pip import main ImportError: cannot import name main
解决方案,打开 /usr/bin/pip,修改为以下#!/usr/bin/python# -*- coding: utf-8 -*-import reimport sys# 修改前from pip import mainif __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?...原创 2019-08-05 14:17:03 · 235 阅读 · 0 评论 -
python爬取图片地址,并将图片保存到服务器
最近在做一项下载图片的任务,所有的图片地址都是使用爬虫爬取下来并保存在mongodb数据库里面的,由于当时图片部分不是我自己抓取的,不知道不同的库之间还会存在相同的图片地址,所以使用下面代码导致了部分图片下载两遍的情况,但是数据库只存了一遍,浪费了服务器空间(可以在下载之前查一下数据库中是否已经下载了该图片,当然,如果确定图片肯定没有重复的就不用做此判断了)# -*- coding: u...原创 2019-08-09 14:24:49 · 2918 阅读 · 0 评论 -
python网络爬虫学习笔记之网站背景调研
目标网站背景调研1,检查robots.txt大部分网站几乎都有其robots.txt文件,我们可以通过此文件了解到爬去该网站时存在了哪些限制访问方式:在浏览器中输入:"http://www.xxx.com/robots.txt" 回车即可,xxx就是你要访问的域名名称2,估算网站大小目标网站的大小会影响我们如何进行爬去,如果只有几百个网页的网站,效率可能就不那么重要,但是如果拥...原创 2019-08-09 20:47:28 · 467 阅读 · 0 评论 -
python 记录一个通用logger
import loggingimport timelogger = logging.getLogger()logger.setLevel(logging.INFO)rq = time.strftime(u'%Y%m%d%H%M', time.localtime(time.time()))log_path = u'C:/Users/ysten/Desktop/celery_beat...原创 2019-08-14 20:46:42 · 159 阅读 · 0 评论 -
python scrapy爬虫防止ip被封的实现方案
主要策略:动态设置user agent禁用cookies设置延迟下载使用google cache使用IP地址池(Tor Project、VPN和代理IP)使用Crawlera1、创建middlewares.py scrapy代理IP、user agent的切换都是通过DOWNLOADER_MIDDLEWARES进行控制,下面我们创建middlewares.py文件。imp...原创 2019-08-17 16:31:17 · 2056 阅读 · 2 评论 -
python 爬虫之网站robots协议的重要性
在我抓取网站遇到瓶颈,想剑走偏锋去解决时,常常会先去看下该网站的 robots.txt 文件,有时会给你打开另一扇抓取之门。 写爬虫有很多苦恼的事情,比如: 1.访问频次太高被限制; 2.如何大量发现该网站的 URL; 3.如何抓取一个网站新产生的 URL,等等;这些问题都困扰着爬虫选手,如果有大量离散 IP 和账号,这些都不是问题,但是绝大部分公司都不具备这个条...原创 2019-08-17 16:43:36 · 514 阅读 · 0 评论 -
urllib2发送get数据
# -*- coding:utf-8 -*-import urllibimport urllib2url = "http://www.baidu.com/s"headers = {"User-Agent" : "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, li...原创 2019-08-17 17:28:50 · 355 阅读 · 0 评论 -
urllib2的post方法小案例
#!/usr/bin/env python# -*- coding:utf-8 -*-import urllibimport urllib2# 通过抓包的方式获取的url,并不是浏览器上显示的urlurl = "http://m.youdao.com/translate"# 完整的headersheaders = { "Referer": "http://m.youd...原创 2019-08-19 09:37:15 · 1268 阅读 · 0 评论 -
Python在写入文件时中文报错IOError: [Errno 22] invalid mode (‘w‘) or filename
Python版本为2.7.0,IDE为PyCharmf = open(filename, 'w')f.write(html)filename中包含中文,html为一个网页数据,结果报了如下的错 File "D:/PythonWorkSpace/test.py", line 42, in <module> tiebaSpider(fullUrl,beginP...原创 2019-08-19 10:07:20 · 2338 阅读 · 0 评论 -
urllib2的get方法小案例(贴吧)
#!/usr/bin/env python# -*- coding:utf-8 -*-import urllibimport urllib2def loadPage(url, filename): """ 作用:根据url发送请求,获取服务器响应文件 url: 需要爬取的url地址 filename : 处理的文件名 ...原创 2019-08-19 10:08:35 · 100 阅读 · 0 评论 -
urllib2自定义handler
1-自定义handler和使用urlopen方法得到的结果是一样的#!/usr/bin/env python# -*- coding:utf-8 -*-import urllib2# 构建一个HTTPHandler处理器对象,支持处理HTTP的请求http_handler = urllib2.HTTPHandler()# 调用build_opener()方法构建一个自定义...原创 2019-08-19 20:27:55 · 182 阅读 · 0 评论 -
urllib2自定义构建代理handler之开放代理的使用(不需要授权)
1-上一节使用自定义handeler之后,就需要直接使用urllib2.open()方法去发送请求,不能使用urllib2的urlopen方法,本节会创建一个全局opener,这样虽然使用的是自定义的handler,但是依然可以使用urllib2的urlopen()方法发送请求(和没有自定义handler时一样)#!/usr/bin/env python# -*- coding:utf...原创 2019-08-19 21:08:03 · 135 阅读 · 0 评论 -
urllib2自定义构建代理handler之私密代理的使用方法一(需要授权)
#!/usr/bin/env python# -*- coding:utf-8 -*-import urllib2# 使用私密代理的授权方法authproxy_handler = urllib2.ProxyHandler({"http": "用户名:密码@ip:端口号"})opener = urllib2.build_opener(authproxy_handler)requ...原创 2019-08-19 21:12:38 · 145 阅读 · 0 评论 -
urllib2自定义构建代理handler之公开代理的使用(不需要授权)
在https://blog.csdn.net/myli_binbin/article/details/99759031中提到,当使用自定义handler时,生成opener后,要调用opener的open方法去发送请求,这篇文章提到如何使用自定义handler后继续使用urlopen方法发送请求#!/usr/bin/env python# -*- coding:utf-8 -*-im...原创 2019-08-19 22:14:16 · 474 阅读 · 0 评论 -
urllib2自定义构建代理handler之私密代理的使用方法二(需要授权)
import urllib2import urllib# 私密代理授权的账户user = "用户名"# 私密代理授权的密码passwd = "密码"# 私密代理 IPproxyserver = "ip:端口号"# 1. 构建一个密码管理对象,用来保存需要处理的用户名和密码passwdmgr = urllib2.HTTPPasswordMgrWithDefaultRealm(...原创 2019-08-19 22:18:20 · 129 阅读 · 0 评论 -
urllib2 的HTTPBasicAuthHandler处理器(Web客户端授权验证)
有些Web服务器(包括HTTP/FTP等)访问时,需要进行用户身份验证,爬虫直接访问会报HTTP 401 错误,表示访问身份未经授权:urllib2.HTTPError: HTTP Error 401: Unauthorized如果我们有客户端的用户名和密码,我们可以通过下面的方法去访问爬取:import urllibimport urllib2# 用户名user = "用户...原创 2019-08-19 22:23:15 · 987 阅读 · 0 评论 -
python “\xe6\x9c\x8d\xe5\x8a\xa1\xe5“数据转换成汉字输出
print("\xe6\x9c\x8d\xe5\x8a\xa1\xe5\x99\xa8\xe9\x94\x99\xe8\xaf\xaf".encode('raw_unicode_escape').decode())原创 2019-09-19 11:21:22 · 9265 阅读 · 0 评论 -
python API接口对ip做限制
这只是一个思路,具体的实现逻辑可以随意更改①-使用mysql记录1-modlesclass Limit(models.Model): ip = models.CharField(max_length=20, verbose_name="ip地址") time = models.DateTimeField(verbose_name="创建时间") class ...原创 2019-06-28 16:29:59 · 1450 阅读 · 0 评论 -
学习Python必备的8本书
在过去一年里,Python的热度一路飙升,国内越来越多的人选择学习Python,如今已然成为大量开发者推荐的入门编程语言和第二编程语言,而且Python还是人工智能的主要编程语言,因此,其重要性和流行度也就不言而喻了想要学好Python语言,需要了解Python是什么,都能够做什么,知道算法,变量,解释器,还有Python的基本数据类型等。所以,本文将推荐几本学习Python编程必看的几本书籍...原创 2019-07-04 14:44:02 · 347 阅读 · 0 评论 -
python安装升级详细步骤 Python2 升级 Python3
多数情况下,系统自动的Python版本是2.x或者yum直接安装的也是2.x但是,现在多数情况下建议使用3.x那么如何升级呢?下面老徐详细讲解升级步骤;首先下载源tar包wget http://www.python.org/ftp/python/3.3.0/Python-3.3.0.tgz下载完成后到下载目录下,解压tar -xzvf Python-3.3.0...原创 2019-07-05 09:07:35 · 319 阅读 · 0 评论 -
python2 和python3字符串的类型的对应关系
Python2在python中包含两种字符串类型:str和unicode,str并不是完全意义上的字符串,其实是由unicode经过编码(encode)后的字节组成的字节字符串,而unicode则是真正意义上的字符串,由字符组成。python 在内部使用两个字节来存储一个unicode,使用unicode对象而不是str的好处,就是unicode方便于跨平台。两种方式定义一个unico...原创 2019-07-05 10:20:50 · 596 阅读 · 0 评论 -
python数值和几个简单的函数
1. 关于数字整形和浮点型 在ide中运算一下,然后看看结果,有没有不一样?要仔细观察哦。>>> 4+26>>> 4.0+26.0>>> 4.0+2.06.0不一样的地方是:第一个式子结果是6,后面两个是6.0。现在我们就要引入两个数据类型:整数和浮点数对这两个的定义,不用死记硬背,goog...原创 2019-07-12 15:40:42 · 153 阅读 · 0 评论 -
python啰嗦的除法
"I give you a new commandment, that you love one another. Just as I have loved you, you also should love one another. By this everyone will know that you are my disciples, if you have love for one an...原创 2019-07-12 15:51:45 · 127 阅读 · 0 评论 -
python + django 使用redis时如何配置密码
首先,redis服务端配置取消注释掉:requirepass: xxx, 设置密码为自己的密码;在django配置中配置:CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://:你的密码@服务器地址:6379/0", ...原创 2019-07-19 17:47:50 · 2632 阅读 · 0 评论 -
python import module and reload
#模块的加载不管是用import还是用from mmmm import *的方式导入模块,当程序运行之后,回头在看那个存储着mmmm.py文件的目录中,多了一个文件:qw@qw-Latitude-E4300:~/Documents/ITArticles/BasicPython/codes$ ls mmm*mmmm.py mmmm.pyc在这个目录下面,除了原来的那个mmmm.p...原创 2019-07-25 15:21:43 · 110 阅读 · 0 评论 -
connect to db by mysqldb-python and use it
#通过Python连接数据库用Python来编写网站,必须要能够通过python操作数据库,所谓操作数据库,就是通过python实现对数据的连接,以及对记录、字段的各种操作。##安装python-MySQLdb要想通过python来操作数据库,还需要在已经安装了mysql的基础上安装一个称之为mysqldb的库,它是一个接口程序,python通过它对mysql数据实现各种操作。在编...原创 2019-07-25 17:52:17 · 386 阅读 · 0 评论