自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (2)
  • 收藏
  • 关注

转载 【转载】爬虫篇——urllib3的基础知识(总结)

一、快速入门1、提出请求# 导入urllib3模块import urllib3# 创建一个PoolManager对象,用于处理连接池和线程安全的所有详细信息http = urllib3.PoolManager()# 提出请求,请使用request()r = http.request('GET','http://httpbin.org/robots.txt')print(r.data) # b'User-agent: *\nDisallow: /deny\n'request请求imp

2022-04-23 19:31:02 1848 2

转载 【转载】爬虫篇——httpx的基础知识(总结)

注意:httpx库的使用方法,跟requests库的使用方法非常相似,学会requests库,再学httpx库非常容易。查看请求所用的协议是HTTP/1.1,还是HTTP/2.0的方法(打开浏览器的开发者模式中查看):一、快速入门urllib和request只支持HTTP/1.1,不支持HTTP/2.0httpx跟request很相似,不过httpx既支持HTTP/1.1,也支持HTTP/2.0httpx默认是HTTP/1.1,需要安装httpx[http2]特殊情况下,httpx.Cli

2022-04-22 00:00:00 2207 1

原创 【转载】爬虫篇——requests的基础知识(总结)

注意:本文章的大部分代码案例出自于《Python3 网络爬虫开发实战(第2版)》。一、GET请求import requestsres = requests.get('https://www.python.org')print(type(res)) # <class 'requests.models.Response'>print(res.status_code) # 200print(type(res.text)) # <class 'str'>print(re

2022-04-18 20:54:52 21562

原创 【转载】爬虫篇:获取数据——urllib库的基础知识(总结)

注:本文章大部分代码的案例节选于《Python3网络爬虫开发实战(第2版)》。一、发出请求1、urlopen方法# Python版本:3.6# -*- coding:utf-8 -*-"""urlopen()方法的API:urllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,capath=None,cadefault=False,context=None)"""import urllib.requestresponse

2022-04-16 19:54:25 1813

原创 【爬虫篇】Playwright的使用——支持移动端浏览器(模拟爬取手机网页)

一、安装playwrightpip install playwrightplaywright install二、模拟手机浏览网页案例一:# Python版本:3.7# -*- coding:utf-8 -*-from playwright.sync_api import sync_playwrightimport timedef run(playwright): webkit = playwright.webkit iphone = playwright.dev

2022-04-05 21:40:32 7294

原创 【代码运行错误】task: <Task pending name=‘Task-3‘ coro=<Connection.run.<locals>

Playwright支持模拟移动端浏览器,例如模拟打开iPhone 12 Pro Max上的Safari浏览器。1.原代码(错误)# Python版本:3.7以上# -*- coding:utf-8 -*-"""安装playwright:pip install playwrightplaywright install"""from playwright.sync_api import sync_playwrightwith sync_playwright() as p: ipho

2022-04-05 21:08:46 1610

原创 【爬虫篇】根据网站的robots.txt文件判断一个爬虫是否有权限爬取这个网页

使用robotparser模块来解析robots.txt文件,该模块提供了一个RobotFileParser,它可以根据网站的robots.txt文件判断一个爬虫是否有权限爬取这个网页。语法:urllib.robotparser.RobotFileParser(url='')https://www.baidu.com/robots.txt的内容如下(截取部分内容):User-agent: Baiduspider # 百度爬虫Disallow: /baidu # 不允许爬取/baidu

2022-02-04 22:06:58 6098 1

原创 css选择器的其他语法规则

CSS 选择器规定了 CSS 规则会被应用到哪些元素上 。备注: 暂时没有能够选择 父元素、父元素的同级元素,或 父元素的同级元素的子元素 的选择器或者组合器。一、基本选择器1、通用选择器:选择所有元素。(可选)可以将其限制为特定的名称空间或所有名称空间。通用选择器例子例子描述**选择所有节点2、元素选择器:按照给定的节点名称,选择所有匹配的元素。元素选择器例子例子描述elementp选择所有 p 节点3、类选择器:按照给定的 cla

2022-02-03 23:46:27 1297

原创 【爬虫篇】GET请求参数问题,序列化参数(编码URL)、反序列化参数(解码URL)

序列化参数(编码URL):指将参数(字典数据类型的参数)转换化为URL参数;反序列化参数(解码URL):指将一串GET请求参数转回字典。注意:本文章的案例,参考《Python3网络爬虫开发实践(第2版)》第2章 基本库的使用 中的案例,适当更改。一、序列化参数(编码URL)1、urlencode:首先声明一个字典params,存放参数,然后调用urlencode方法将parmas序列化为GET请求的参数。from urllib.parse import urlencode'''urlenco.

2022-02-03 23:42:23 2073

原创 【爬虫篇】获取到网页的内容压缩了,读取不到内容,怎么办?解决方法。

一、抓取 “douyu” 官网源码from urllib.request import urlopenres = urlopen('https://www.douyu.com/')html = res.read()print(html)输出结果,全部都以"\x"开头的beytes数据,表示网页数据已经加密,如下。<中间内容截图省略了>二、查看加密方式打开浏览器的开发者工具或F12键,再刷 douyou 官网网页后,再按照截图中的红色方框找出加密方式。Respon

2022-01-23 11:10:30 834

原创 【爬虫篇】“UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd5 in position 52988“ 异常的解决方法

爬取网站时,有的网站,进行“utf-8”解码时,报错。注意:网站是utf-8编码没有错,不是gbk之类的其它编码。网站的实际编码可以通过浏览器的开发者工具(F12键)中的Console的浏览器控制平台输入如下代码,可以查看。document.charset # 'UTF-8'代码1:报错from urllib.request import urlopenres = urlopen('https://www.chinanews.com.cn/china/')print(res.read(

2022-01-23 11:08:36 3271

原创 【Sqlite3】创建数据库、创建表

创建sqlite3数据库和表students1、表存在时,创建表,使用以下代码,会抛出异常:c.execute("""create table students(rollno real,name text,class real)""")2、表存在时,创建表,使用以下代码,不会抛出异常:c.execute('''create table if not exists students(roollno real,name text,class real)''')完整代码:import sqlite

2022-01-21 12:36:24 6244

原创 【爬虫篇】处理URL数据——url编码

一、方法一:urllib.parse.urlencode(字典数据类型)urlencode方法将params参数序列化为get请求的参数。from urllib.parse import urlencodeurl = "https://www.sogou.com/web?"# 对数据进行URL编码keyword= urlencode({'query':'电影'})print(keyword) # query=%E7%94%B5%E5%BD%B1# 拼接urlnew_url = url

2022-01-20 14:29:43 1448

原创 【爬虫入门】获取响应内容(即读取网页html的源码)

在现实应用中,网络爬虫获取网页数据的流程如下:(1)模拟浏览器发送请求(2)获取响应内容:即获取html、css、json、图片、视频等类型信息(3)解析内容:正则表达式、第三库解析库(Beautifulsoup、pyquery等)(4)保存数据:保存到数据库(mysql、mongdb、redis等)或txt、csv、json、xml…格式的文件

2022-01-15 15:03:39 2742

原创 Python函数的不定长参数:**kwargs

目录例1 **kwargs:可以接受任意数量关键字参数的函数例2 参数名称可以其它名称例3 kwargs的数据类型是字典、关键字参数例4 普通参数和**kwargs同时使用例5 *args和**kwargs同时使用例1 **kwargs:可以接受任意数量关键字参数的函数def myFunction(**kwargs): for kw in kwargs: print(kw, '-', kwargs[kw]) if __name__ == "__main__": m

2021-10-04 22:35:12 215

原创 Python函数的不定长参数:*args

目录例1:*args例2:args名称改为其它名称例3:*args 中的 args 接收的参数是一个元组数据类型例4:一般位置参数和*args同时使用例4:同时使用*args和**kwargs参数例1:*argsdef addition(*args): result = 0 for arg in args: result += arg return resultif __name__ == "__main__": sum = addition(2,

2021-10-04 21:49:25 244

原创 Python函数的参数类型(位置参数、关键字参数、默认值参数、不定长参数)

文章目录函数入门一、形参和实参二、参数类型三、从实参的角度看1.位置参数(必需参数)1.1 无返回值1.2 有返回值2.关键字参数:非默认参数跟随默认参数3.混合参数(位置参数+关键字参数)四、从形参的角度看1.位置参数1.1 无返回值1.2 有返回值2.默认值参数(缺省参数)3.动态参数(*args,**kwargs)3.1 *args:元组3.2 ** kwargs:字典3.3 args,*args,**kwargs 的顺序函数,通常是程序中的代码块或语句块,它使用户能够重用相同的代码,从而最终节省

2021-10-04 20:28:27 3602

原创 Python条件语句和循环语句

文章目录Python的条件语句和循环语句一、条件语句1.if示例 1:条件语句(布尔表达式)为True示例 2:条件语句(布尔表达式)为False示例 3:条件语句(布尔表达式)有多个条件示例 4:布尔表达式计算结果为数字示例 5:if条件语句块中,包含多个语句示例 6:嵌套if2.if else示例 1:条件为True示例 2:条件为False示例 3:嵌套if-else3.elif示例 1:if-elif-else示例 2:if-elif-elif-else:带有多个elif块4.if and示例 1:

2021-09-26 08:02:20 481

原创 Python——打印到控制台 print() 和 从控制台读取字符串

文章目录print打印到控制台上示例 1:将字符串打印到控制台示例 2:将数字打印到控制台示例 3:将变量打印到控制台示例 4:带有特定分隔符的 Python print()示例 5:具有特定结尾的 Python 打印print打印到控制台上要将字符串打印到控制台或将一些数据回传到控制台输出,可以使用Python内置的print()函数。print()函数可以接受不同类型的值作为参数,如字符串、整数、浮点数等,或者是某一类型的对象。print() 函数的语法:print(*objects, s

2021-09-25 22:36:58 9867

原创 Python中的三目(元)运算符

文章目录Python 三元运算符一、示例 1:使用三元运算符找出两个数字中的最大值。二、示例 2:根据条件的返回值,Python 执行打印语句之一三、示例 3:使用嵌套的三元运算符,找到三个数字中的最大值Python 三元运算符Python 三元运算符用于根据条件选择两个值之一。它是 if-else 语句的一个缩影,它将两个值之一分配给一个变量。Python 三元运算符的语法是:[statement_1] if [expression] else [statement_2]如果表达式的计算结

2021-09-25 21:48:58 574

原创 <快捷键>Pycharm快速创建推导公式

文章目录一、列表推导公式1.无if条件:快捷键compl2.有if条件:快捷键compli二、元组推导公式(generator,将它看成元组)1.无if条件:快捷键compg2.有if条件:快捷键compgi三、字典推导公式1.无if条件:快捷键compd2.有if条件:快捷键compdi四、集合推导公式1.无if条件:快捷键comps2.有if条件:快捷键compsi在编辑区输入comp出现如下快捷键:一、列表推导公式1.无if条件:快捷键compl'''快捷键compl:创建列表推导式,

2021-09-20 14:58:15 587

原创 <转载>pymysql连接mysql数据库,在Python中的常用应用(增、删、改、查)

文章目录一、创建Mysql数据库与数据表二、添加数据到表中三、修改表中数据四、删除表中指定数据五、查询表中所有数据六、Python完整代码七、总结提示:以下是本篇文章正文内容,下面案例可供参考,案例转载于《Python快乐编程:web开发》实体书籍。一、创建Mysql数据库与数据表mysql -u root -p:命令行进入mysql数据库# 查看所有数据库SHOW DATABASES;# 创建数据库hotelCREATE DATABASE hotel;# 使用数据库hotelu

2021-09-19 11:00:41 97

原创 【问题】Pycharm创建Django项目后,出现TypeError错误

在pycharm开发工具下,使用软件自带的django创建django项目,没有任何添删改的前提下,运行项目应该能成功打开下面的网页。一、抛出异常但是pycharm运行django项目时,抛出如下错误:TypeError: unsupported operand type(s) for /: ‘str’ and 'str’二、解决问题步骤1:点击链接,打开"settings.py"修改步骤2:修改斜杠为逗号...

2021-09-18 19:42:01 4489

原创 【实例Python】文本文件修改示例

本例:修改目标文件’测试文件/文件修改.txt’,并将修改后的内容,保存到’测试文件/文件修改_副本.txt’中,再删除目标文件’测试文件/文件修改.txt’,最后将’测试文件/文件修改_副本.txt’命名为’测试文件/文件修改.txt’本例类似word办公文档,修改"示例.docx"源文档时,会自动创建一个"~$示例.docx"隐藏文档。当源文档保存时,肉眼感觉就像,隐藏文档被删除掉,修改后的内容,则保存在源文档中,实际上,修改后的内容,保存在隐藏文档中,接着删除源文档,最后将隐藏文档,改名为与源文档

2021-09-15 13:38:32 306

原创 【例题】Python日志记录操作

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录文件操作——日志操作示例文件操作——日志操作示例日志文件内容如下(文件名为"文本操作示例.log"):1,张德辉,10291,兰博基尼2,王芳华,11233,路虎3,上官浩初,13992,宾利4,王慧艳,12389,阿斯顿马丁代码如下:li = []with

2021-09-15 12:06:49 263 1

原创 Python文件操作——写操作(w,a,rb/wb,r+,w+,a+)

系列文章目录文章目录系列文章目录一、open(path, mode='w', encoding='UTF-8'):先清空再写二、open(path, mode='a', encoding='UTF-8')三、open(path, mode='rb', encoding='UTF-8') 和 open(path, mode='wb', encoding='UTF-8')四、open(path, mode='r+', encoding='UTF-8')五、open(path, mode='w+', encod

2021-09-14 21:59:11 3240

原创 Python文件操作——只读操作(rt、rb)

这里写自定义目录标题open(文件路径, mode='r', encoding='UTF-8')一、读取所有内容:s = f.read()二、读取所有内容:for遍历三、读取行内容:f.readline().strip()1.while循环:需要手动结束while循环2.for循环:(偶数)隔行打印open(文件路径, mode=‘r’, encoding=‘UTF-8’)注意:文件路径,分别为相对路径与绝对路径(或网络链接),相对路径指相对于当前程序所在的文件夹,绝对路径指磁盘的完整路径(window

2021-09-14 13:44:55 5313

原创 【易错】Python中for循环删除元素,有个坑,请勿入坑!!

有一道程序题,要求删除容器类型中,符合某个条件中所有元素,一般人会想到,使用for循环遍历出每个元素,再使用if条件判断,符合条件时删除元素。这样你就会陷于一个坑中。例题1:删除列表中是"大云"的所有元素。错误的写法:li = ["紫云","大云","大云","大云","玉溪","紫钻"]for ele in li: if ele == "大云": li.remove(ele)print(li) # ['紫云', '大云', '玉溪', '紫钻']从上面代码中,可

2021-09-11 14:32:21 338

原创 <转载>根据用户输入的密码判断安全级别

根据用户输入的密码判断安全级别:低级密码:包含单纯的数字或字母,长度小于等于8。中级密码:必须包含数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)中任意两种,长度大于8。高级密码:必须包含数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)中的3种,长度大于16。注意:此例转载于实体书籍《Python快乐编程:基础入门》的第4章字符串的小案例,版本归原作者所有。代码如下:# 字符分类

2021-09-09 13:12:54 1798 1

原创 Python集合知识点总结

文章目录集合(set)一、创建集合1.空集合:set()或{}2.使用花括号内以逗号分隔元素的方式3.使用集合推导式,类似列表推导式4.使用类型构造器:set(基本数据类型)二、添加1.add()方法2.update()方法三、删除1.remove(x):删除元素2.discard(x):删除元素3.pop():随机删除一个元素4.clear():清空集合5.del set四、统计集合的长度五、浅拷贝/复制六、嵌套集合七、集合的基本运算八、判断集合8.1 判断成员运算符(单个):in、not in8.2 判

2021-09-08 14:44:37 5970

原创 Python字典知识点总结

文章目录字典(dict)一、字典的创建1.1 key-value形式1.2 dict()转换(1)关键字参数(2)元组、列表(3)字典(不推荐,建议直接写出字典)(4)压缩列表:dict(zip(list1,list2))1.3 列表的推导式1.4 fromkeys()方法:(1)注意:fromkeys()方法,对于已经存在的字典不起作用(2)用于快速创建字典(value值需要修改)二、索引与修改方法一:索引,添加与修改方法二:setdefault()方法:只添加方法三:update()方法,添加与修改1.

2021-09-07 20:42:10 1487

原创 Python元组知识点总结

元组元组是Python的基本数据类型之一,与列表类似,不同之处在于元组的元素不能修改。文章目录元组一、创建元组二、索引与切片(取值)1.截取单个元素2.切片(截取一组数据)提示:以下是本篇文章正文内容,由小编进行网络整理,版权归原作者所有,如有侵权,请联系本人,本人会第一时间删除处理!一、创建元组1.使用一对圆括号来表示空元组: ()2.使用一个后缀的逗号来表示单元组: a, 或 (a,)3.使用以逗号分隔的多个项: a, b, c or (a, b, c)4.使用内置的 tuple()

2021-09-07 09:45:21 753

原创 Python字符串知识点总结

文章目录字符串一、字符串的创建二、转义字符和原始字符1.常用转义字符2.原始字符三、连接(拼接)字符1.拼接字符:+2.相邻字符连接起来:"..." "..."四、索引与切片索引1.截取**单个**元素2.截取**整个**字符串:切片1.截取多个元素:[start : end : step]2.截取多个元素:split、lsplit、rsplit、splitlines五、字母的大小写转换1.转换大写、小写、标题、首字母大写2.大写转小写,小写转大写3.清除大小写,转换成小写(不常用)4.实例运用:六、字

2021-09-06 23:58:40 3150

原创 Python列表知识总结

学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客 3 篇

2021-09-04 23:50:27 1090

原创 Python编程题:打印九九乘法表

1到4的乘法:for i in range(1,5): print("{} * 'j'".format(i),end='\t') print() # 看i值,换行【1 * ‘j’ 】中第1个数,每增1就换行。输出结果:1 * 'j' # 打印完这行,就print()换行2 * 'j' 3 * 'j' 4 * 'j' 1到4的乘法:for i in range(1,5): for j in range(1,i+1): print("{} .

2021-08-21 10:54:58 1743

原创 Python基础:格式化字符串的方法(三种常用的,一种使用模板来格式化字符串的)

这三种方法都能有效地格式化字符串,你可以根据个人偏好和需求选择其中一种来进行字符串的格式化。在实际使用中,f-string 通常被认为是最简洁和易读的字符串格式化方法。这种模板字符串的格式化方法比较灵活,可以根据需要动态地生成格式化字符串。类,用于支持模板字符串的格式化。这种方法可以通过指定占位符来替换字符串中的值。方法传入字典形式的参数,将占位符替换为相应的值,生成最终的格式化字符串。方法的功能相同,但是如果在字典中找不到对应的键值,它不会引发。在上面的例子中,我们创建了一个模板字符串,并使用。

2021-08-20 00:38:54 1205

原创 Python编程题:判断“-123.12“是小数吗?

str = "-123.12"strs = str.replace("-","") # 去除负号if strs.isdigit(): # 判断是否由数字组成 print("这是整数")else: # 判断小数点的个数,如果是1,而且不是以小数点为结尾和开头,则是小数,否则不是小数 if strs.count(".") == 1 and not strs.startswith(".") and not strs.endswith("."): print("这是一个

2021-08-20 00:29:13 49

原创 Python编程题:判断input输入的广告语是否合法?

判断input输入的广告语是否合法?包含“最”,“第一”,"国家级“,"稀缺” 的关键字或词都不合法。while True: context = input("请输入广告标语:") if '最' in context or '第一' in context or '国家级' in context or '稀缺' in context: # 判断广告不合法分支 print("您的广告不合法,随时被相关部门请去喝茶!") elif context.lowe

2021-08-20 00:23:27 138

原创 Python解包/解压运算符

提取列表中的值。方法一:索引new_list = ['中国','美国','英国','德国','法国']name1 = new_list[0]name2 = new_list[1]name3 = new_list[2]name4 = new_list[3]name5 = new_list[4]print(name1,name2,name3,name4,name5) # 中国 美国 英国 德国 法国注意:这种方法,在列表元素太多情况下,不太适合。方法二:解压运算符new_list

2021-08-20 00:00:44 492

原创 Python:判断input输入的数是否是质数?

"""质数只能被1和自身整除,不能被其它自然数整除.让所输入的n数从2开始除,一直除到n-1,如果除开了,不是质数,到最后没有被除开,就是质数"""n = int(input("请输入一个数:"))if n == 1: print("1不是质数")else: i = 2 while i <= (n-1): if n % i == 0: print('{}不是质数'.format(n)) break

2021-08-19 23:24:38 312

2017年Java 高级软件工程师面试题.pdf

Java 高级软件工程师面试题(188p).pdf ,共188页,它包括五大部分:简历制作与面试技巧、职场相关、技术面试题、程序题、现场招聘考试题(四套)。

2017-09-30

2017年Java 高级软件工程师面试题(188p).pdf

Java 高级软件工程师面试题(188p).pdf。共188页,含简历制作与面试技,职场相关,技术面试题,程序题,现场招聘考试题

2017-09-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除