python基础
文章平均质量分 81
落空空。
请务必推荐我一款缓解眼疲劳的好物
展开
-
pandas之to_csv方法保存csv文件中出现乱码问题的解决办法
pandas之to_csv方法保存csv文件中出现乱码问题的解决办法今天在用pandas库的to_csv方法将txt文件转化为csv文件时,发现打印结果正常,但是保存的csv文件中出现乱码,错误如下:data.to_csv(r'E:\读取文件.csv', encoding="utf-8")错误原因就在于encoding="utf-8",将它改为encoding="utf_8_sig"就成功保存无乱码了,详情如下示例代码:data.to_csv(r'E:\读取文件.csv', encoding=原创 2021-07-26 19:57:22 · 2629 阅读 · 4 评论 -
Python全栈开发-数据分析-01 Numpy详解
Numpy 详解一. Numpy介绍安装同样的数值计算,使用Numpy比直接编写Python实现 代码更简洁、性能更高效。它是目前Python数值计算中最为重要的基础包。Numpy帮我们处理数值型数据的在Pandas和机器学习中都会用到Numpy安装:1、找到pip3.exe所在的文件夹,复制路径我的路径是:D:\ruanjian\Python\python3\Scripts2、按Win+R,输入CMD确定3、进入后,先输入cd 路径 回车,如图14、输入 pip3 install原创 2021-07-23 18:11:34 · 598 阅读 · 4 评论 -
Python全栈开发-Python爬虫-13 Selenium自动化与爬虫
Selenium自动化与爬虫一. selenium自动化介绍与安装1.1 Selenium自动化介绍Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏安装pip insatll selenium1.2 Chromedriver的介绍WebDriver是一个用来进行复杂重复的web自动化测试的工原创 2021-07-19 19:09:11 · 382 阅读 · 0 评论 -
python程序封装
python程序封装1报错请执行pip install --upgrade setuptools 和 pip install --upgrade wheel步骤如下:(1)安装pyinstaller,可以直接在cmd命令行中,输入命令“pip install pyinstaller”,安装pyinstaller(2)进入py代码的保存目录,这里py代码放在“E:\python学习\python_work”(3)cmd,输入命令:e:,进入e盘(4)继续输入:E:\python学习\python_原创 2021-07-19 18:52:08 · 2660 阅读 · 0 评论 -
Python全栈开发-Python爬虫-12 图片验证码
图片验证码处理目前,很多网站为了防止爬虫爬取,登录时需要用户输入验证码。下面我们学习如何在爬虫程序中识别验证码。其中包含验证码。页面中的验证码图片对应一个<img>元素,即一张图片,浏览器加载完登录页面后,会携带之前访问获取的Cookie信息,继续发送一个HTTP请求加载验证码图片。和账号密码输入框一样,验证码输入框也对应一个<input>元素,因此用户输入的验证码会成为表单数据的一部分,表单提交后由网站服务器程序验证。为何有验证码什么是图片验证码?验证码(CAPTC原创 2021-07-06 21:11:31 · 582 阅读 · 0 评论 -
Python全栈开发-Python爬虫-11 字体反爬
字体反扒认识字体在爬虫爬取页面的时候,页面中的代码是乱码,但是在人眼看到的是原文,这样的映射关系让爬虫无法顺利爬取到网站内容。例:大众点评字体映射关系获取到的网页源代码中的字是其映射关系的字形名称,以数字 1 为例,该文字在实际获取的网页源代码中表现形式是 unie66字体-百度百科一款字库的诞生,要经过字体设计师的创意设计、字体制作人员一笔一划的制作、修改,技术开发人员对字符进行编码、添加程序指令、装库、开发安装程序,测试人员对字库进行校对、软件测试、兼容性测试,生产部门对字库进行最终产品原创 2021-07-06 21:08:35 · 505 阅读 · 0 评论 -
Python全栈开发-Python爬虫-09 JS逆向入门
1. JavaScript反爬虫原理及原因爬虫与网站安全,一个是矛,一个是盾。你网站安全与否?第一看安全措施是否到位,第二,还得看数据价值是否会勾引到“爬虫”的注意。也就是说,除非没有爬虫盯上你的数据,否则反爬措施你必须步步到位!2. Python调用JavaScript执行代码PyExecJS库:简介:这个库主要是将 js 代码运行在本地的 js 环境中优点:有多种 js环境的选择,官方推荐了 PyV8、Node.js、PhantomJS、Nashorn 四种缺点:必须安原创 2021-07-04 14:31:53 · 406 阅读 · 0 评论 -
Python全栈开发-Python爬虫-08 Xpath详解
Xpath详解XPath原理:先将HTML文档转为XML文档,再用XPath查找HTML节点或元素一. 什么是XML?1,XML指可扩展标记语言2,XML是一种标记语言,类似于HTML3,XML的设计宗旨是传输数据,而非显示数据4,XML标签需要我们自己自定义5,XML被设计为具有自我描述性二. XML和HTML的区别数据格式描述设计目标XMLExtensible Markup Language (可扩展标记语言)被设计为传输和存储数据,其焦点是数据的内容。原创 2021-07-02 15:18:19 · 152 阅读 · 0 评论 -
Python全栈开发-Python爬虫-07 PyQuery详解
PyQuery详解pyquery允许你对xml文档进行jquery查询,API尽可能类似jquery,pyquery使用lxml进行快速xml和html操作PyQuery是python中一个强大而又灵活的网页解析库,如果你觉得正则写起来太麻烦,又觉得BeautifulSoup语法太难记,如果你熟悉jQuery的语法那么,PyQuery就是你绝佳的选择。安装:pip install pyquery一. 初始化1.1 基于标签选择器html = '''<div> <u原创 2021-06-29 22:40:18 · 315 阅读 · 0 评论 -
Python爬虫 基于Beautiful Soup的糗事百科爬虫
python爬虫 ---- 糗事百科爬虫首先进入糗事百科官网首页 —> 糗事百科本次爬虫的目标是翻页爬取糗事百科的信息,包括 标题, 链接, 作者名, 好笑数&评论数之后右键检查,开始分析网页代码并找出我们所需要提取的数据下面是提取数据的代码,用到的格式为beautifulsoupdef parse_data(html_data): soup = BeautifulSoup(html_data, 'lxml') title = soup.find_all('原创 2021-06-28 22:45:41 · 85 阅读 · 0 评论 -
Python全栈开发-Python爬虫-06 爬虫框架Beautiful Soup详解
BeautifulSoup详解一. 简介BeautifulSoup是一个高效的网页解析库,可以从HTML或XML文件中提取数据支持不同的解析器,比如,对HTML解析,对XML解析,对HTML5解析就是一个非常强大的工具,爬虫利器一个灵感又方便的网页解析库,处理高效,支持多种解析器利用它就不用编写正则表达式也能方便的实现网页信息的抓取二. 解析库解析器使用方法优势劣势Python标准库BeautifulSoup(markup, “html.parser”)Pytho原创 2021-06-27 22:59:57 · 538 阅读 · 0 评论 -
Python全栈开发-Python爬虫-05 爬取猫眼电影榜单信息
爬取猫眼电影榜单信息(翻页)一. 获取url及headers首先进入猫眼电影首页: 猫眼电影之后点击菜单栏的 榜单 并在下面选择 TOP100榜接着右击检查并刷新界面,在Network中找到4的加载文件,并双击打开获取右侧的url以及其他的headers信息# 获取网页响应内容def get_html(url): # 不能证明你是一个完整的浏览器用户 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10原创 2021-06-26 22:27:28 · 1210 阅读 · 0 评论 -
pyhton小游戏-五子棋
python小游戏 — 五子棋1.包的下载此小游戏需要pygame和numpy两个包pip install pygamepip install numpy2. 必要图片三张图片必须放在和python文件同一目录下棋盘图片黑棋图片白棋图片3. 代码展示#!/usr/bin/env python3#-*- coding:utf-8 -*-import pygamefrom pygame.locals import *from sys import exitimport原创 2021-06-25 18:45:09 · 388 阅读 · 0 评论 -
Python全栈开发-Python爬虫-03 正则表达式详解
正则表达式一. 什么是正则表达式正则表达式,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,我们可以达到如下的目的:给定的字符串是否符合正则表达式的过滤逻辑(“匹配”);通过正则表达式,从文本字符串中获取我们想要的特定部分(“过滤”)二. 正则表达式的常见语法三. P原创 2021-06-24 23:43:11 · 167 阅读 · 0 评论 -
Python全栈开发-Python爬虫-03 requests库详解
一. requests是什么Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库 如果你看过上篇文章关于urllib库的使用,你会发现,其实urllib还是非常不方便的,而Requests它会比urllib更加方便,可以节约我们大量的工作。(用了requests之后,你基本都不愿意用urllib了)一句话,requests是python实现的最简单易用的HTTP库,建议爬虫使用requests库。 默认安装好python之后,是没有安装r原创 2021-06-24 13:31:45 · 5557 阅读 · 0 评论 -
Python全栈开发-Python爬虫-02 http与https的请求与响应
一.HTTP与HTTPS的请求与响应1.1. 简介HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP下加入SSL层。SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全转载 2021-06-22 19:19:18 · 321 阅读 · 0 评论 -
python练习题5
练习41.分三行将你的学号、姓名、和班级写入文本文件name.txt中,然后将文件name.txt中的内容输出到屏幕上显示。with open(r"E:\Code\python\pythonClass\ninth\name.txt",'w',encoding='utf-8')as f: f.writelines('0001' + '\n') f.writelines('小明' + '\n') f.writelines('1702班' + '\n') f.close()w原创 2021-05-12 20:42:49 · 10641 阅读 · 0 评论 -
python练习题4
练习41.社区为了补助困难家庭,对所有收入低于2000元(不含2000元)的家庭,增加相当于其收入30%的补助。编写程序实现:输入若干个家庭的收入列表(在同一行,以逗号隔开),计算并输出增加补助后的家庭收入列表。原创 2021-05-12 20:34:35 · 6005 阅读 · 0 评论 -
python练习题3
练习题31.编写一个求阶乘的函数fact(n), n 为形式参数。在函数内部求 n! 并将结果打印出来。def fac(num): if num <= 1: return 1 else: return num * fac(num - 1)x = eval(input())print(fac(x))2.编写函数leap,根据“四年闰百年不闰,四百年又闰”判断是否闰年。在主程序输入一个年份,调用leap函数判断其是否为闰年,并输出判断结果d原创 2021-05-12 20:27:42 · 1454 阅读 · 0 评论 -
python练习题2
练习21.将输入的字符串垂直输出string = input()for i in string: print(i)2.用户输入一个字符串,判断该字符串是否为回文,如是回文输出“是回文”,否则输出“不是回文”。a = input("")b = a[::-1]if a == b: print("是回文")else: print("不是回文")3.用户输入一个字符串,倒序输出。a=input("")b=a[::-1]print(b)4.用户输入一个小数,用f原创 2021-05-12 20:20:59 · 11157 阅读 · 0 评论 -
python练习题
练习一1.从键盘输入两个整数a,b,一个操作符op,计算并输出a op b的结果a = int(input())op = input()b = int(input())if op == '+': print(f'{a}+{b}={a+b}')elif op == '-': print(f'{a}-{b}={a-b}')elif op == '*': print(f'{a}*{b}={a*b}')elif op == '/': print(f'{a}/{b}={原创 2021-05-12 19:53:48 · 6179 阅读 · 0 评论 -
Python全栈开发-Python基础教程-10 正则表达式
正则表达式原创 2021-01-12 20:47:31 · 258 阅读 · 1 评论 -
Python全栈开发-Python基础教程-09 生成器装饰器和异常
生成器装饰器和异常一. 生成器更多详细的生成器内容请参考:python生成器详解前面章节中,已经详细介绍了什么是迭代器。生成器本质上也是迭代器,不过它比较特殊。以 list 容器为例,在使用该容器迭代一组数据时,必须事先将所有数据存储到容器中,才能开始迭代;而生成器却不同,它可以实现在迭代的同时生成元素。也就是说,对于可以用某种算法推算得到的多个数据,生成器并不会一次性生成它们,而是什么时候需要,才什么时候生成。不仅如此,生成器的创建方式也比迭代器简单很多,大体分为以下 2 步:定义一个原创 2021-01-08 20:52:37 · 210 阅读 · 2 评论 -
Python全栈开发-Python基础教程-08 面向对象高级
面向对象高级原创 2021-01-07 21:55:30 · 197 阅读 · 0 评论 -
Python全栈开发-Python基础教程-07 面向对象初级
面向对象初级一. 面向对象面向对象编程(Object-oriented Programming,简称 OOP),是一种封装代码的方法。其实,在前面章节的学习中,我们已经接触了封装,比如说,将乱七八糟的数据扔进列表中,这就是一种简单的封装,是数据层面的封装;把常用的代码块打包成一个函数,这也是一种封装,是语句层面的封装。代码封装,其实就是隐藏实现功能的具体代码,仅留给用户使用的接口,就好像使用计算机,用户只需要使用键盘、鼠标就可以实现一些功能,而根本不需要知道其内部是如何工作的。本节所讲的面向对象原创 2021-01-04 22:52:09 · 321 阅读 · 0 评论 -
Python全栈开发-Python基础教程-06 文件操作
文件操作一. 文件的基本操作1.1 文件的打开—open() 函数你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。语法:file object = open(file_name [, access_mode][, buffering])各个参数的细节如下:file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。原创 2021-01-03 23:18:05 · 679 阅读 · 0 评论 -
Python全栈开发-Python基础教程-05 函数
函数一. 函数的定义与调用1.1 函数的定义函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。函数的第一行语句可以选择性原创 2020-12-30 01:32:04 · 628 阅读 · 0 评论 -
Python全栈开发-Python基础教程-04字符串和散列类型
字符串和散列类型一. 字符串之前我们简单提到了字符串的格式化方法,现在我们将继续深入讨论其详细方法更多详细字符串函数操作请参考 字符串函数操作大全1.1 字符串的修改—replace()首先我们尝试通过下标赋值来修改更新字符串str1 = "hello,world"str1[1] = '0' #将str1中下标为1的字符改为o输出结果:Traceback (most recent call last): File "C:\Users\admin\Desktop\ne原创 2020-12-27 23:01:52 · 542 阅读 · 0 评论 -
Python全栈开发-Python基础教程-03for循环与列表元组
for循环与列表元素一.for循环1.1 for循环概念及运行原理for 循环用于迭代序列(即列表,元组,字典,集合或字符串)。for循环是python提供第二种循环机制(第一种是while循环),理论上for循环能做的事情,while循环都可以做。目的:之所以要有for循环,是因为for循环在循环取值(遍历取值)比while循环更简洁。这与其他编程语言中的 for 关键字不太相似,而是更像其他面向对象编程语言中的迭代器方法。通过使用 for 循环,我们可以为列表、元组、集合中的每个项目等执行一原创 2020-12-18 15:14:34 · 2280 阅读 · 0 评论 -
Python全栈开发-Python基础教程-02条件语句和while循环
条件语句和while循环一. if语句原创 2020-12-09 22:41:59 · 441 阅读 · 0 评论 -
Python全栈开发-Python基础教程-01基本概念和基本数值类型
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2020-12-07 23:44:43 · 393 阅读 · 0 评论