Python
Python 学习笔记
xiaoShengSanYue
这个作者很懒,什么都没留下…
展开
-
python中列表的删除操作
增加:ceshi = ['a','b','c','d','e','f']ceshi.append('g') print(ceshi) #['a','b','c','d','e','f','g'],是对原列表进行操作在指定位置插入内容:ceshi = ['a','b','c','d','e','f']ceshi.insert(3,'h')print(ceshi...原创 2018-12-12 16:56:48 · 6298 阅读 · 0 评论 -
python-有道翻译-{"errorCode":50}
用Python写有道翻译的时候,遇到报{"errorCode":50}的错误,一开始百度了下,发现的答案都是把路由上的_o给去掉,觉得并不是很可取,但确实是解决了问题,可是,一般路由怎么会出错呢,所以又仔细的看了下请求头和表单中的内容,结果发现就是这里面的内容出错...原创 2018-07-03 21:31:47 · 1067 阅读 · 0 评论 -
用python做有道翻译的接口
from urllib import request,parseimport timeimport randomimport hashlibimport jsondef getSign(kw,salt): md5 = hashlib.md5() content = 'fanyideskweb' + kw + str(salt) + 'ebSeFb%=XZ%T[KZ)...原创 2018-06-26 21:02:21 · 389 阅读 · 0 评论 -
python做有道翻译接口的时候报UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid sta
当遇到这个错误的时候,解决办法是:headers = { "Host":"fanyi.youdao.com", "Connection":"keep-alive", "Content-Length":"201", "Accept":"application/json, text/javascript, */*; q=0.0原创 2018-06-26 20:23:05 · 2116 阅读 · 0 评论 -
Python做有道翻译的的时候报http.client.RemoteDisconnected: Remote end closed connection without response
一开始只是加了头部信息,然后运行就报错,后来想着不是不没有加form信息,最后发现果然是这样,form = { "i":"inout", "from":"AUTO", "to":"AUTO", "smartresult":"dict", "client":"fanyi原创 2018-06-26 20:11:31 · 5521 阅读 · 2 评论 -
自动登录人人网的时候报HTTP Error 405: /sysHome的解决方案
研究了好长时间,最后发现是自己路由写错了,一开始写的是base_url = 'http://www.renren.com/'最后才发现这个是由于路由写错了,正确的应该是:base_url = 'http://www.renren.com/PLogin.do' ...原创 2018-06-22 23:33:52 · 2326 阅读 · 3 评论 -
百度搜索借口
from urllib import request,parseheaders = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36'}def baidu(): while...原创 2018-06-22 08:50:21 · 376 阅读 · 0 评论 -
爬取百度贴吧
可以自由输入贴吧名称以及页数,自动下载页面from urllib import request,parseimport ostieba_name = input('请输入贴吧名称:')start = input('请输入起始页:')end = input('请输入结束页:')base_url = 'https://tieba.baidu.com/f?'search = {...原创 2018-06-22 00:28:29 · 173 阅读 · 0 评论 -
关于请求头的反爬
from urllib import requestimport randombase_url = 'http://www.xicidaili.com'#构建请求头UA = ['Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Saf...原创 2018-06-21 21:35:23 · 706 阅读 · 0 评论 -
爬虫
获取页面内容的基本步骤from urllib import request# 第一个要发起请求的url地址base_url = 'http://www.baidu.com'# 打开url,获取响应response = request.urlopen(base_url)# 读取页面内容html = response.read().decode()# print(htm...原创 2018-06-21 21:24:37 · 157 阅读 · 0 评论 -
模板继承
在模板继承的过程中,子模板如果想要继承父模板的css样式的话,要在子模板中加入{{ super() }}原创 2018-06-06 21:07:51 · 321 阅读 · 0 评论 -
python操作数据库之添加数据
先说一下前提工作,创建一个mydb的库,其中有一个users的表,csdn中的文件如下其中index.html是一个简单的主页具体代码为<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>用户信息</title>&a原创 2018-05-16 01:15:53 · 5641 阅读 · 0 评论 -
python连接mysql
python连接mysql需要下载一个pymysql的库命令:pip3 install pymysql (首先要确认电脑中安装了pip3)pymysql安装成功 首先创建一个csdn的文件夹,里面包含一个cgi-bin的子文件夹和server.py的文件,其中子文件夹的名字必须叫做cgi-bin,不能是其他名字server.py用来搭建一个小型的服务...原创 2018-05-15 22:51:53 · 256 阅读 · 0 评论 -
python之学习历程
个人认为Python的学习应该走以下步骤:python基础 -->前端基础(html、css、js)-->数据库 -->python高阶(python的常用框架及爬虫) -->数据分析再往深处的话,由于小编也是刚入门,还没有接触的太深,所以在这里就不做说明...原创 2018-05-11 17:25:40 · 244 阅读 · 0 评论 -
Python中的lambda表达式
def temp(n): # return lambda x : x + nf = temp(42)print(f(1)) # 34当第一次调用temp函数的时候,将n传进去后n=42并且调用赋值给f,此时 f 则表示lambda匿名函数,由于lambda是表示匿名函数,所以可以继续调用传参,此时是传给了x...原创 2019-04-08 16:28:20 · 87 阅读 · 0 评论 -
django安装
首先要确保电脑上已经安装了django,可以用pip list查看,如果没有安装,则执行下面步骤pip list django==指定版本号(如果没有指定版本号的话,则默认安装最新版本)创建django项目命令行创建:django-admin startproject 项目名称 (首先需要确认python已经添加到环境变量中)pycharm创建,新建一个django的项目(比较方便...原创 2019-04-12 01:15:28 · 126 阅读 · 0 评论 -
mysql中修改字段属性
使用mysql的时候,当插入的数据是中文的时候,显示编码错误,此时的办法为:先修改表:alter table 表名 default character set utf8;此时发现还是不行,因为还需要修改要输入中文的字段alter table 表名 change 旧字段名 新字段名 varchar()64 chatacter set utf8 not null;...原创 2019-04-12 01:53:19 · 2207 阅读 · 0 评论 -
mysql插入中文时报错
mysql在插入中文的时候报[HY000][1366] Incorrect string value: ‘\xE5\xB0\x8F\xE7\x94\x9F’ for column ‘name’ at row 1解决办法:alter table 表名 default character set utf8;alter table 表名 change 旧字段名 新字段名 chara...原创 2019-04-18 18:20:52 · 362 阅读 · 0 评论 -
用selenium爬取豆瓣关于Python前10页的书籍
from selenium import webdriverimport requestsimport osimport timefrom lxml import etreeroot_dir = 'douban/image'if not os.path.exists(root_dir): os.mkdir(root_dir)# 浏览器driver = webdrive...原创 2018-07-13 00:20:51 · 859 阅读 · 0 评论 -
反爬与反反爬
第一阶段:爬虫:用urllib或者requests库不断的遍历某页面,根据html来分析页面并存到数据库反爬:发现某一时间段的请求量突增,分析日志发现都是统一IP,并且user-agent都是Python,基于这两点发现是非人类后直接在服务器上进行封杀第二阶段:爬虫:(1)user-agent模仿百度的;(2)IP每爬一段时间就换一个IP代理反爬:在服务器上设置一个频率限...原创 2018-07-13 15:23:32 · 635 阅读 · 0 评论 -
python中列表的修改、查询
按照索引来修改:ceshi = ['a','b','c','d','e','f']ceshi[3] = 'xiaosheng'print(ceshi) #['a', 'b', 'c', 'xiaosheng', 'e', 'f']按照切片操作:ceshi = ['a','b','c','d','e','f']ceshi[0:3] = 'xiaosheng'prin...原创 2018-12-12 17:09:11 · 282 阅读 · 0 评论 -
python中关于列表的一些公共方法
ceshi = ['a','b','c','d','e','f']print(len(ceshi)) #6,得到列表的长度num = ceshi.count('b')print(num) #1,得到元素在列表中的下标ind = ceshi.index('c')print(ind) #2,得到元素在列表中的下标ceshi.sort()print(ceshi) #['a...原创 2018-12-12 17:21:12 · 279 阅读 · 0 评论 -
python中的字典相关知识
python中的字典相关知识数据类型的划分:可变数据类型:元组,bool,int,str 可哈希不可变类型:list,dict,set 不可哈希字典的key必须是不可变类型,value是任意数据类型dict的优点:二分查找法(每次查找找一半)存储大量的关系型数据dict的特点:3.5之前(包括3.5)的版本是无序的...原创 2018-12-12 21:01:41 · 139 阅读 · 0 评论 -
python中的动态参数
*args:接收的是按照位置传参的值,然后组成一个元组**kwargs:接收的是按照关键字传参的值,然后组成一个字典传参的时候必须先按照位置传,然后是默认参数,然后再按照关键字传递(形参和实参中的都一样)动态参数的另一种传参方式:def func(*args): print(args)temp = [1,2,3,4,5]func(*temp) # (1, 2, 3,...原创 2018-12-14 16:51:28 · 679 阅读 · 0 评论 -
python中的命名空间和作用域
命名空间的分类内置命名空间:python解释器,即python解释器一启动就可以使用的名字,他们是存储在内置命名空间中全局命名空间:即我们写的代码但不是函数中的代码,他是在程序从上往下被执行的过程中一次加载进内存的,防止了我们设置的所有变量名和函数名局部命名空间:即我们在函数内部定义的名字,当调用函数的时候才会产生这个名称空间,随着函数执行的结束,这个命名空间也就结束了。使用方法...原创 2018-12-14 17:35:27 · 413 阅读 · 0 评论 -
python中的闭包
概念:嵌套函数,内部函数调用外部函数的变量,如:def outer(): a = 1 def inner(): print(a) print(inner.__closure__) # (<cell at 0x00ECCD50: int object at 0x10333900>,)# 这样就形成了一个闭包# 打印__closure__的话,只要输出结果中...原创 2018-12-14 19:25:28 · 81 阅读 · 0 评论 -
python中的装饰器
直接举一个例子:import timedef timmer(f): # 装饰器函数 def inner(): start = time.time() f() end = time.time() print(end-start) return innerdef func(): # 主函数 time.sleep(0.1) print('end')func =...原创 2018-12-14 20:43:38 · 100 阅读 · 0 评论 -
python中的生成器函数
只要含有yield关键字的函数都是生成器函数yield不能和return公用yield必须写在函数内部def generator(): print(1) yield 'a'#生成器函数:执行之后会得到一个生成器作为返回值res = generator()print(res) # &lt;generator object generator at 0x010B0870&...原创 2018-12-14 21:03:15 · 431 阅读 · 0 评论 -
python中的迭代器
只要是能被for循环的数据类型,就一定拥有__iter__方法,则就都是可迭代的。而只要含有__iter__方法的就一定是可迭代的 — 可迭代协议。内部含有__next__和__iter__方法的就是迭代器 — 迭代器协议。迭代器一定可以迭代。但是可迭代的不一定是迭代器。可迭代的._iter_()方法就可以得到一个迭代器。迭代器中的__next__()方法可以一个一个的获取值。...原创 2018-12-15 14:27:03 · 86 阅读 · 0 评论 -
python杂记
help(str) — 帮助函数dir() — 查看一个变量拥有的方法某个方法属于某个数据类型的变量,就用变量.方法来调用如果某个方法不依赖于任何数据类型,就直接调用 — 这种方法只有内置函数和自定义函数...原创 2018-12-16 18:49:34 · 110 阅读 · 0 评论 -
python的格式化字符串
直接上实例:a = 'xiaosheng今年%d岁'%(18)print(a) # xiaosheng今年18岁注意:%s拼接的只能是字符串,%d拼接的只能是数字,%是占位符ceshi = '%s今年%d岁,学习进度为%d%%'%('xiaosheng',18,50)print(ceshi) #xiaosheng今年18岁,学习进度为50%附带一个小知识点:A...原创 2018-12-10 20:15:41 · 143 阅读 · 0 评论 -
python中的条件判断语句简单认识
if 条件: 结果elif 条件: 结果elif 条件: 结果else: 结果原创 2018-12-10 20:02:51 · 287 阅读 · 0 评论 -
python中基本的数据类型
python中的基本的数据类型分为:字符串(string)、数字(int)、布尔值(bool)。字符串(string):python中凡是用引号引起来的都是字符串类型,哪怕是转义字符,比如说a = '\n'print(a) #输出空白print(type(a)) #<class 'str'>字符串可以做相加运算,只不过该加法不是数学中的加法,而是起到了拼接效果...原创 2018-12-10 19:48:30 · 219 阅读 · 0 评论 -
python中变量的命名
python中变量命名规范:1.变量命名要有意义,方便于阅读和理解;2.可以是数字、字母、下划线组合,但是一定不能是由数字作为开头,可以用中文作为变量名,但是应该是没有一个人会用;3.不能是python的关键字命名,其中python中的关键字都有:['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'co...原创 2018-11-24 14:08:20 · 1992 阅读 · 0 评论 -
用urllib爬取链家北京地区所有小区的户型图
#__author:'Mr.Li'#date:2018/8/3from urllib import requestimport sslssl._create_default_https_context = ssl._create_unverified_contextimport refrom lxml import etreeimport osimport timeba...原创 2018-08-13 22:25:29 · 1045 阅读 · 7 评论 -
关于python中求出两个列表的相同元素和不同元素
用列表推导式来写list1 = [1,3,65,2,7]list2 = [3,2,5,4]c = [x for x in list1 if x in list2]d = [y for y in (list1+list2) if y not in c]print(c)print(d)用普通的for循环来写list1 = [1,3,65,2,7]list2 = [3,...原创 2018-08-07 10:57:15 · 43961 阅读 · 0 评论 -
关于Python中去掉\n之类的符号的问题
找了好久才想到可以用strip,port = port.strip()此时就可以解决\n的问题了原创 2018-07-26 23:53:08 · 5647 阅读 · 0 评论 -
Python中的数据类型
不可变(可哈希)的数据类型:int、str、bool、tuple可变(不可哈希)的数据类型:list、dict、set原创 2019-05-10 16:43:44 · 71 阅读 · 0 评论