
Python 学习
Nurbiya_K
坚持是件很酷的事情!
展开
-
正则表达式——高级模块
re.match 是从头开始匹配re.search 不会从头开始,会直接从第一个满足条件的数据开始search需求:匹配出文章阅读数的次数#coding =utf-8import reret=re.search(r"\d+","阅读次数为 9999")ret.group()运行结果:“9999”findall查找出所有符合正则表达式的元素,并放入到列表里面sub 元素进行替换Sub替换的时候就会把符合正则的所有数据都替换掉Sub 调用函数实现自增功能返回的是什么就会替换成原创 2020-06-10 16:50:15 · 460 阅读 · 0 评论 -
正则表达式——匹配多个字符
{1,3}表示\d这个数可以是一位或者3位指定手机号:问号?意味着,问号前面的东西可以有可以没有,有的话有且只有一个,不允许出现多个判断手机号格式是否正确:星号和加号的区别星号可有可无,加号最少只能有1个,不能没有案例:案例:re.match :默认匹配开头因为加了$ 符号,所以要对其中所有的元素进行比较,判断全部是否符合要求。判断邮箱地址是否符合要求:如果在正则表达式中需要用到了某些普通的字符,比如?(表示前面的元素可有可无),比如 . (表示任意一个字符)等,..原创 2020-06-10 15:42:40 · 34178 阅读 · 1 评论 -
正则表达式——匹配单个字符
正则表达式:数据处理正则表达式不仅可以使用在python,还可以用在前端,JAVA等。作用:(1)可以用来检测用户输入的信息是否符合我们的要求(2)可以通过这些规则快速找到网址上的一些规则在python中需要通过正则表达式对字符串进行匹配的时候,可以使用 re 模块re 模块的使用过程:#coding=utf-8import re#使用match方法进行匹配操作result=re.match(正则表达式,要匹配的字符串)#如果上一步匹配成功的话,可以使用group 方法来提取数据re原创 2020-06-10 13:19:34 · 5835 阅读 · 0 评论 -
django.db.utils.InternalError: (1054, "Unknown column 'ActionMovies.id' in 'field list'")
django.db.utils.InternalError: (1054, “Unknown column ‘ActionMovies.id’ in ‘field list’”)不行这个错误必须记录一下,今天在解决这个问题的时候差点儿哇的哭出来!!!这个是我在弄django后台管理页面admin时报的错,说有未知列id,但我表中根本就没有这个列,查了很久网上有很多种解释我这个表是提前存在M...原创 2020-04-23 09:52:15 · 462 阅读 · 0 评论 -
python 爬数据传到MySQL上 (pycharm中显示传入成功,但是在数据库中找不到数据,全为空)
今天测试了一下用python爬数据传到MySQL上,我真的差点儿哇的哭出来了,天哪,弄了一天,它一直有一个错误,就是我传数据到MySQL上,只有自增列在增加,其他列全为null,(其他列都是中文),然后弄了半天编码格式,最后发现是SQL问题(在此之前我非常坚定我SQL没有问题的,因为拿到Navicat执行是可以执行的,只能说在python里写的传入数据的sql有一个地方需要非常注意)我错误的添加...原创 2020-04-09 01:09:05 · 3232 阅读 · 0 评论 -
python可视化图表——pyecharts 库 找不到Bar,并且AttributeError: 'str' object has no attribute 'get'
总结一下今天遇到的坑:网站上看到了一个可视化图表的代码https://www.jianshu.com/p/b718c307a61c代码可以说是非常的简单,然后就拿到本地运行了一下,就出现了一堆问题:首先可视化图表的话需要安装pyecharts库,然后导入它的Bar 库from pyecharts import Bar#from pyecharts.echarts import Bar...原创 2020-04-06 23:46:48 · 10570 阅读 · 4 评论 -
爬虫-------多协程
python 是一个脚本语言, 里面编写的代码是从头一行一行的执行,所以一般我们要等到它全部执行完,才能拿到我们要的数据。一个爬虫爬取大量数据要爬很久,那我们能不能让多个爬虫一起爬取?爬虫每发起一个请求,都要等服务器返回响应后,才会执行下一步。而很多时候,由于网络不稳定,加上服务器自身也需要响应时间,导致爬虫会浪费大量时间在等待上,这也是爬取大量数据时,爬虫的速度会比较慢的原因。每台计算...原创 2020-04-06 00:35:36 · 522 阅读 · 0 评论 -
python - 爬虫定时 - schedule
有时我们需要定时发送邮件等操作,schedule可以实现定时功能schedule 模块:import scheduleimport time#引入schedule和timedef job(): print("I'm working...")#定义一个叫job的函数,函数的功能是打印'I'm working...'schedule.every(10).minutes.do...原创 2020-04-05 17:38:16 · 615 阅读 · 0 评论 -
selenium检索标签方式————XPATH
今天用python selenium进行网页爬虫,往浏览器提交数据的时候,检索标签怎么检索都检索不出来,并且 pycharm 一到selenium的时候就运行超级慢,慢的有点儿离谱,慢就算了,还说我查找的标签不存在,过分!!!明明它就在眼前,你却告诉我它不存在!!!于是网上查了一下,还真有答案解决网页元素无法定位!这篇博客写的很好,里面提到了两种解决方法,第二种是用while+try+ex...原创 2020-04-04 12:31:47 · 384 阅读 · 0 评论 -
爬虫的时候去掉多余的空格 strip( )
str.strip()它的作用是去除特殊字符串,比如空格,\n,\t 等等。原创 2020-04-03 13:38:24 · 5855 阅读 · 2 评论 -
UnicodeEncodeError: 'gbk' codec can't encode character '\xe6' in position 1: illegal multibyte seque
UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xe6’ in position 1: illegal multibyte sequence今天进行网页爬虫的时候报了这个错,网上查了一下,其他人的都是数据写入文件的时候报了这个错,但我这个是还没写入文件,就在最开始,爬取网页源码数据的时候报了这个错查看了一下,网页源码中的编码方...原创 2020-04-03 13:07:37 · 4186 阅读 · 3 评论 -
爬虫 让网页自动化---selenium
selenium:selenium 是python的一个强大的库,可以用几行代码,控制浏览器,做出自动打开,输入,点击等操作,就像是有一个真正的用户在操作一样。(1) 当遇到验证码很复杂的网站时,selenium允许让人去手动输入验证码,然后把剩下的操作交给机器。(2)对于那些交互复杂,加密复杂的网站,selenium问题简化,爬动态网页如静态网页一样简单(静态网页:HTML,网页源代码中...原创 2020-04-02 15:13:05 · 2523 阅读 · 0 评论 -
爬虫往网页提交数据( cookies,session,requests.get()用法)
post 请求:以前我们获取网页数据时使用的是requests.get()其实post和get 都可以带着参数请求,不过get 请求的参数会在url上显示。但是post请求的参数就不会直接在url上显示,而是隐藏起来。像账号密码这种私密的信息,就该用post请求。如果用get请求的话,账号密码全部会显示在网址上,这显然不科学也可以这么理解,get是明文显示,post是非明文显示。总结 :...原创 2020-03-29 23:29:33 · 2851 阅读 · 0 评论 -
pycharm 安装库失败(cmd安装方法)ERROR: Exception: Traceback (most recent call last):
ERROR: Exception:Traceback (most recent call last):File “C:\Users\Nurbiya-K\AppData\Roaming\Python\Python37\site-packages\pip_vendor\urllib3\response.py”, line 360, in _error_catcheryieldFile “C:\...原创 2020-03-25 14:20:46 · 17830 阅读 · 5 评论 -
爬取(快递100)网页,实现用代码查询物流信息
import requests#导入网页请求库import json#导入json数据格式url='https://www.kuaidi100.com/query'#网页链接tracking_number=input('请输入你的快递单号:')params={ #是requests的一个方法,把字符串逐个添加进去'type': 'yuantong','postid':...原创 2020-03-25 12:11:50 · 2059 阅读 · 4 评论 -
不用刷新网页继续加载(获取)新的内容XHR
昨天的博客里面有提到过,当requests.get()获取到的网页源码中没有我们需要的信息时,需要去查看Network里面的信息XHR的功能是传输数据,其中有非常重要的一种数据是用json格式写成的,和html一样,这种数据能够有组织地存储大量内容。json的数据类型是“文本”,在Python语言当中,我们把它称为字符串。我们能够非常轻易地将json格式的数据转化为列表/字典,也能将列表/字...原创 2020-03-24 13:46:46 · 2338 阅读 · 0 评论 -
网页爬取时执行状态成功,但获取不到想要的数据的时候解决方法(Network,XHR,json)
Network:当我们爬取网页的内容,对源代码进行请求,响应的源代码中没有我们需要的东西时,需要查看Network打开需要爬取的网页,进行源码检查,会发现左边框框里的是Elements,右边框框是我们需要关注的NetworkNetwork 的功能是:记录在当前页面上所发生的所有请求(它是实时加载的,如果是空的,则需要刷新网页)在图最下面显示,此处有16个请求,15.4kb的流量,耗...原创 2020-03-23 21:00:11 · 16264 阅读 · 15 评论 -
AttributeError: 'NoneType' object has no attribute 'find_all'(添加请求头信息)
今日份遇到错误的解决记录:今天爬取豆瓣Top250个电影的时候,写好代码却报了这个错,一开始认为列表上用了find()方法,换成find_all()之后还是不行,换了别的标签也不行,于是使用print(html.text)想的把解析之后的网页代码输出看看,结果啥都没有,连源代码都是空的什么都不输出!!!!最后想查看一下获取网页源码状态:print(res.status_code)发现了问...原创 2020-03-19 00:20:35 · 24585 阅读 · 1 评论 -
(爬取菜单信息)想要一次性获取标签的所有的东西时不需要find_all再一个个循环,直接text即可!!!!
爬取菜单信息的时候,想要获取所有食材时:网页源代码:<p class="ing ellipsis"> <span>新鲜豌豆米</span>、<a href="/category/580/" target="_blank">瘦肉</a>、<span>生抽,盐,生粉</span>发现这里...原创 2020-03-17 20:04:15 · 861 阅读 · 0 评论 -
"ResultSet object has no attribute '%s'. You're probably treating a list of elements like a single e
"ResultSet object has no attribute ‘%s’. You’re probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()?" % keyAttributeError: ResultSet obje...原创 2020-03-16 01:02:12 · 9051 阅读 · 1 评论 -
Python爬虫基础(2) —— BeautifulSoup(解析数据,提取数据)
获取网页源代码:import requests#调用requests库res=requests.get('URL')#URL是网页链接html=res.text#把res的内容以媳妇穿的形式返回print('响应状态码:',res.status_code)#检查请求是否正确响应print(html)#输出网页源代码...原创 2020-03-15 01:06:43 · 2080 阅读 · 2 评论 -
Python 爬虫基础(1)
在网页上搜索需要的信息,浏览器交流的对象不只有我们,还有服务器,服务器就类似于一个超级电脑,它可以计算和存储大量数据,并且在互联网中相互传输数据。爬取数据的步骤:首先,在浏览器上输入网址(URL),浏览器向服务器传达了我们想要访问某个网页的需求,这个过程叫做【请求】,紧接着,服务器把我们想要访问的网站数据发送给浏览器,这个过程叫做【响应】。所以浏览器和服务器之间,先请求,后响应,有这么一...原创 2020-03-04 23:20:46 · 279 阅读 · 0 评论 -
Python获取字典键对应的值
有两种方法当知道字典的键时:unit_rooms={ 3:{301:[1,80],302:[1,80],303:[2,90],304:[2,90]}, 4:{401:[1,80],402:[1,80],403:[2,90],404:[2,90]}, 5:{501:[1,80],502:[1,80],503:[2,90],504:[2,90...原创 2020-03-04 12:39:16 · 29132 阅读 · 1 评论 -
Python 读取csv文件,发送邮件
将收件人邮箱写入csv文件,在发邮件时读取csv文件。将邮箱地址写入csv模块的方法是write(),步骤是:引入csv模块提供需要写入csv文件的数据建文件并写入举例:import csv#引用csv模块。data = [['wufeng ', 'wufeng@qq.com'],['kaxi', 'kaxi@qq.com']]#待写入csv文件的内容with open...原创 2020-03-01 10:54:28 · 2110 阅读 · 0 评论 -
Python 发送邮件升级版(丰富邮件头,群发邮件)
#调用相应模块#调用邮件发送模块import smtplib#用于构建邮件的模块from email.mime.text import MIMEText#丰富邮件头的模块from email.header import Header#收集发信方的信息from_addr=input('请输入的你的邮箱账号:')password=input('请输入你的授权码:')#收信方邮箱...原创 2020-02-29 20:33:33 · 319 阅读 · 0 评论 -
smtplib.SMTPException: No suitable authentication method found
smtplib.SMTPException: No suitable authentication method found这是用python发邮件时用企业邮箱时报的错server.login() 之前添加 server.starttls( )原创 2020-02-29 13:11:11 · 2025 阅读 · 0 评论 -
ValueError: server_hostname cannot be an empty string or start with a leading dot.
ValueError: server_hostname cannot be an empty string or start with a leading dot.这是在用python编写发送邮件代码的时候报的错:指服务器名不能是空的我源代码:server=smtplib.SMTP_SSL()server.connect('smtp.qq.com',456)修改之后:server=...原创 2020-02-29 13:03:04 · 8666 阅读 · 2 评论 -
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb1 in position 2: invalid start byte
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb1 in position 2: invalid start byteUnicodeDecodeError:“utf-8”编解码器无法解码位置2中的字节0xb1:无效的起始字节用python发送邮件的时候报了这个错,于是百度了一下说是计算机名中包含中文名,去看的确是计算机名改成中文...原创 2020-02-29 12:57:01 · 3758 阅读 · 0 评论 -
用 Python 发送邮件
上一篇博客中学习了怎么学习一个新的模块以及模块调用模块学习与调用今天继续学习一个新的模块现如今每个人的自学能力非常重要,要学会自学新的知识,所以想总结一下怎么学习一个新的模块学习用python发送邮件用度娘搜索一下 Python 发送邮件可以看到我们需要调用两个模块,是smtplib和email,这其中smtplib是用来发送邮件的,email是用来构建邮件内容的。这两个都...原创 2020-02-28 15:17:47 · 241 阅读 · 1 评论 -
Python 模块调用
模块:’’.py"后缀的文件即模块类:使用class语句封装一个类函数:使用def语句封装一个函数变量:使用赋值语句赋值一个变量模块中不但可以直接存放变量,还能存放函数,还能存放类。还可以使用自己写的模块(其实就是后缀名为.py的文件)from ...... import...通过这个语句可以从模块中导入指定的部分到当前的模块。例如:# 【文件:test.py】def ...原创 2020-02-26 23:16:13 · 664 阅读 · 0 评论 -
Python —— 文件读写
文件读写:一,读取文件三个步骤:打开文件 - 读取文件 - 关闭文件file1 = open('/Users/Ted/Desktop/test/abc.txt','r',encoding='utf-8') #r 表示以读的形式读取文件#w 表示以写的形式读取文件# a 就是append 追加filecontent = file1.read() prin...原创 2020-02-22 13:52:34 · 1046 阅读 · 0 评论 -
python —— 编码
编码:用来存放一位0或1,就是计算机里最小的存储单位,叫做【位】,也叫【比特】(bit)。我们决定8个比特构成一个【字节】(byte),这是计算机里最常用的单位。1 byte = 8 bit也就是一个字节等于8比特编码表按照时间顺序有以下:编码表就是计算机世界的字典计算机是有自己的工作区的,这个工作区被称为“内存”,数据在内存当中处理时,使用的格式是Unicode,统一标准.在...原创 2020-02-22 12:43:27 · 375 阅读 · 0 评论 -
Python 代码 —— 有空多看看
问卷调查结果搜集器:class Survey(): def __init__(self,question): self.question=question self.response=[] #显示调查问卷的题目 def show_question(self): print(self.question) #存储问卷搜集的答案 def store_response(self,n...原创 2020-02-18 14:11:54 · 263 阅读 · 0 评论 -
Python代码
发现了很神奇的函数 : info下面是具体使用方法 :问题:def bonus(month): if month < 6: money = 500 return money elif 6<=month<=12: money=120*month return money else : money=180*month return money...原创 2020-02-17 21:53:06 · 2043 阅读 · 0 评论 -
python 函数总结
Python 中学到的函数:type():可以返回变量类型,括号里面写变量名;id():获取变量的内存地址;input():输入函数,name=input(“请输入你的名字:”),name收到的值是字符串型,就算输入的是整型1234,但是还是会强制性转换成字符串型;chr(x):将整数转换为一个字符;ord(x):将一个字符转换为它对应的整数值;hex(x):将一个整数x转换为一个...原创 2020-02-16 23:10:00 · 486 阅读 · 0 评论 -
python 学习(9)类的初始化和类的继承
类的初始化:(1) 初始化的意思就是,当我们创建类的一个实例的时候,这个初始化函数就会被调用。(2)上面的代码在执行 实例=类()的语句时,就自动调用了 _ _ init _ _(self) 函数。(3)初始化函数的写法是固定的格式:中间是“init”,这个单词的中文意思是“初始化”,前后都要有两个下划线,_ _ init _ _( ) 的括号中,第一个参数一定要写上 self ,不然会报...原创 2020-02-16 21:57:59 · 848 阅读 · 0 评论 -
python 学习(8)重写类方法和类属性
重写类方法:步骤:在类的外部写一个函数把这个新函数的名字赋值给 类·原始函数类方法已经被替换成新函数,所以第二次调用 a·原始函数()的效果是新函数效果。实例是独立的个体,类属性的值的改变不影响实例属性的值。实例化方法重新被赋值:...原创 2020-02-15 12:30:52 · 944 阅读 · 0 评论 -
python学习 (7) 类与对象,类的实例化
类与对象:类是模板,对象是类的实例化类是模板,通过模板复制,修改做出来的产品是实例化对象类实例化后使用和直接使用的格式是不同的直接使用类:(1)第一个格式@classmethod的中文意思就是“类方法”,@classmethod 声明了函数1是类方法,这样才能允许函数1使用类属性中的数据。(2)第二个格式 cls 的意思是class的缩写。如果类方法函数1想使用类属性(也就是类...原创 2020-02-14 22:26:44 · 815 阅读 · 0 评论 -
python 学习(6)面向对象 与类(方法),变量(属性)
面向对象与面向过程:面向对象类类的属性和类的方法:类是一个函数包,类中可以放置函数和变量,然后类中的函数可以很方便的使用函数中的变量。用 def 语句来自定义一个函数,用class语句来自定义一个类。函数被称之为类的方法,变量称之为类的属性。类中方法的调用:类·方法名()类中变量的定义:类中变量的调用:类中的属性(变量)传递给类中方法(函数)(1)第一个格式@...原创 2020-02-13 18:31:33 · 236 阅读 · 0 评论 -
python 学习 (5)函数定义和调用
函数定义与调用:函数调用可以写成列表的形式,a[0]指的是Lover[name1],a[1]指的是lover[name2],但是print(name1)这样写是不对的。没有return 语句的函数会返回none函数内部一旦遇到return 语句就会停止执行,冰通过return 语句返回结果。比如下面这个代码,遇到第一个return就停止执行,所以第二个return不会被输出...原创 2020-02-13 12:38:01 · 219 阅读 · 0 评论