- 博客(42)
- 收藏
- 关注
原创 超简单python爬取 - 利用高德地图(无需注册)点点点获取经纬度信息
话不多说,直接开始。1.页面解析浏览器搜索 高德地图获取经纬度直接点进去,Chrome浏览的话,直接对着空白右键检查,点到Network找到js这个时候什么也没有,然后在搜索框里进行关键字搜索,比如北京天安门搜索过后js下面加载一条text开头的信息,没错点它加载过后看到Preview,点它,这里往下面找,可以看到我们需要的经纬度信息就在location这里,name是天安门,没错就是它。找到了需要的东西,回到HeadersRequest Method: GET这里为GET请求看到
2021-07-26 13:49:08 3781 5
原创 从入门到入狱------面向对象(二)
class Student: def __init__(self, name, tel, study_id='001', score=0): self.name = name self.tel = tel self.study_id = study_id self.score = score # 在打印一个对象的时候,系统会自动用这个对象去调用__repr__方法,并且获取这个方法的返回值 # 返回值是什么就打印什么.
2020-10-23 09:34:16 676 8
原创 从入门到入狱-----运算符和分支结构(一)
入门 two daypython中支持的运算符:数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)print(6 % 4) # 6%4=2 取余数,判断一个数是否能够被另一个数整除print(6 // 4) # 6//4=1 取整 X%10 获取X的个位数,X%100获取X的后两位数...# // 商取整 (向小取整)num1 = 1.9 // 1num2 = -1.9 // 1print(num1,num2) #
2020-09-23 21:07:29 408 1
原创 Java入门03 -数据类型
Java数据类型强类型语言要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用弱类型语言对变量的使用没有严格规定Java的数据类型分为两类:基本类型和引用类型#mermaid-svg-Pql5PujGo4CVVt84 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-Pql5PujG
2021-10-02 16:45:33 149
原创 Java入门02 -注释与标识符
Java注释单行注释 //多行注释 /* */文档注释 /** */标识符标识符注意点所有的标识符都应该以字母(A-Z或者a-z),美元符($),下划线(_)作为开头首字母之后可以是字母,美元符,下划线或者数字任意字符组合不能使用关键字作为变量名或方法名标识符是大小写敏感的合法标识符部分举例:age、$age、Age1非法标识符部分举例:1age、-age、#age可以使用中文命名,但是一般不建议关键字private 一种访问控制方式:私用模式p
2021-10-02 15:48:12 237
原创 Java入门01-开发环境搭建
Java开发环境搭建官网下载 https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html我这里操作系统是win10 64位 下载的是Java SE Runtime Environment 8u181jdk下载与安装新建一个保存jdk文件的文件夹 然后将下载好的exe文件打开,进行安装,路径选择存放jdk文件夹的路径,选好过后点击确定进行安装配置环境变量安装好了过后需要配置环境变量,右
2021-09-30 13:53:11 163
原创 从入门到入狱 -------(Linux的简介以及常用指令)
计算机系统由硬件(hardware)和软件(software)两部分构成。硬件:运算器、控制器、存储器(RAM)、输入设备、输出设备软件:系统软件和应用软件操作系统(Operating System):直接覆盖在硬件上的软件,提供人机交互的接口(界面)。 ~ Windows (Server、Advanced Server、Data Center) ~ Macintosh ---> macOS ~ Unix ---> AIX / Hp-Ux / Solaris...
2020-11-09 16:24:57 529 1
原创 从入门到入狱-----信息爬取以及图片下载(selenium、PyQuery、bs4)
本来是想写一个爬虫类的,结果越写越偏,也不太想改了,所以这个四不像的类就将就着看吧,后面都是定义的函数,因为爬取的数据都是临时想到的,也就不好放在类里面(就是懒得改)from selenium import webdriverimport requestsfrom pyquery import PyQueryfrom bs4 import BeautifulSoupclass Spider: def req_(self, url: str,encodings='utf-8'):
2020-10-31 16:57:23 456
原创 从入门到入狱-----做爬虫之前的准备(PyQuery)
PyQuery解析的方法和应用from pyquery import PyQuerydef get_data(): with open('spider.html', 'r', encoding='utf-8') as f: return f.read()# 创建PyQuery的对象# pyq=PyQuery(html的字符串)pyq = PyQuery(get_data())print(pyq)# 获取标签# PyQuery对象/标签对象(css选择器) 直
2020-10-31 16:48:40 212
原创 从入门到入狱------从入门到入狱-----做爬虫之前的准备(bs4的使用方法和应用)
from bs4 import BeautifulSoupimport requestsimport re# html页面解析的方法'''正则表达式 ---- 不懂前端,正则用得好 (re模块)通过css选择器选中标签 ----熟悉css选择器;熟悉jQuery (bs4库和pyQuery)通过xPath获取标签 ---- 熟悉html结构和标签(lxml)'''# bs4的使用# 网页内容---html格式的字符串,一般使用requests或者selenium获取# 打开.
2020-10-31 16:40:40 439
原创 从入门到入狱-----做爬虫之前的准备(正则表达式re模块的使用)
没错,就是之前学过的匹配字符串的正则表达式,先导入re模块,这里只是简单介绍怎么使用,具体详细的re模块的应用和概念可以翻阅之前关于字符串的正则表达式的博客---->从入门到入狱-------re模块import requestsimport redef get_data(): url = 'https://movie.douban.com/top250' header = { "User-Agent": "Mozilla/5.0 (Windows NT 6.
2020-10-31 16:33:50 157
原创 从入门到入狱-----做爬虫之前的准备(代理ip的使用)
经常爬网站会导致ip被封,所以会涉及到购买代理ip的问题,这个就需要自己去找资源购买申请了,下面是申请到了过后怎么用代理ip访问网页的详细过程import requestsdef gei_ip(): url='获取代理ip的网站' respons=requests.get(url) if respons.status_code == 200: print(respons.text) if respons.text[0]=='{':
2020-10-31 16:26:41 187
原创 网易邮件网站的自动登录(selenium作业)
from selenium import webdriverfrom selenium.webdriver import ChromeOptions,ActionChainsfrom selenium.webdriver.common.keys import Keys# 创建设置对象options = ChromeOptions()# 取消自动测试检测(防止网站检测拒绝访问)options.add_experimental_option('excludeSwitches', ['enable-
2020-10-31 16:20:37 282
原创 从入门到入狱-----做爬虫之前的准备(selenium)
加载selenium库的过后,直接导入就可以使用,这里涉及到一些前端的知识,因为我纯粹的0基础,前端的东西不是很懂,将就看看from selenium import webdriverfrom selenium.webdriver import ChromeOptions,ActionChainsfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.ui import WebDriverWait
2020-10-31 16:18:25 266
原创 从入门到入狱-----做爬虫之前的准备(request)
第一阶段就顺利结束了,从这里开始第二阶段,没有花里胡哨的爬虫来秀,有的只是老老实实的代码和繁琐的概念,加油!!!import requests# 通过requests给指定网页发送get请求res=requests.get('https://www.baidu.com/?tn=62095104_19_oem_dg')# 设置文本编码方式(解决打印乱码)res.encoding='utf-8'# 打印请求到的内容print(res.text)# 爬虫步骤'''1.获取数据:reque
2020-10-31 16:10:10 260
原创 从入门到入狱-------继承和内存管理
# 继承'''让子类直接拥有父类的属性和方法的过程就是继承子类 --- 继承者父类 --- 被继承者(超类)'''# 语法'''class 子类(父类1,父类2,父类3,...): 类的说明文档 类的内容 说明:默认情况下,类继承object:class 类名:== class 类名(object):python中支持多继承'''class Person: num = 61 def __init__(self, name='张三',
2020-10-24 09:08:31 143
原创 从入门到入狱-----面向对象(一)
面相过程编程:用算法或者逻辑来解决问题—逻辑函数式编程:用函数来解决问题,没有就自己定义一个 —函数面向对象编程:用具有解决问题能力的对象来解决问题,没有就创建一个 —类和对象---- 类----类就是拥有相同功能和相同属性的对象的集合对象就是类的使用定义类—用代码描述清楚所定义的类是拥有哪些相同属性的对象集合语法:class 类名:类的说明文档类的内容说明:class —关键字;固定写法类名 —自己命名要求:是标识符,不是关键字规范:首字母大写且驼峰式命名,见名知义
2020-10-21 19:23:19 209
原创 作业:正则表达式
作业:利用正则表达式完成下面的操作1.用户名匹配 要求: a.用户名只能包含数字 字母 下划线 b.不能以数字开头 c.⻓度在 6 到 16 位范围内from re import fullmatchuser=input('请输入用户名:')user_name=r'[a-zA-Z_][a-zA-Z_\d]{5,15}'print(fullmatch(user_name,user))密码匹配 要求: 1.不能包含!@#¥%^&*这些特殊符号
2020-10-21 19:14:14 279
原创 从入门到入狱-------re模块
import re# 编译# re.compile(正则表达式) 编译正则表达式,返回正则对象str1 = r'123're_obj = re.compile(r'\d{3}')# 正则表达式对象.fullmatch(字符串)print(re_obj.fullmatch(str1)) # <re.Match object; span=(0, 3), match='123'># 匹配# fullmatch 完全匹配'''fullmatch(正则,字符串) 让整个字符串
2020-10-21 09:23:48 171
原创 从入门到入狱------正则
from re import fullmatch, search,findall,finditer# 正则表达式 :只能用来处理字符串'''正则表达式是一种工具:一种专门用来做字符串匹配的工具能够在某些情况下让字符串的处理变得非常简单'''# fullmatch(正则表达式,字符串) 判断正则表达式是否和字符串完全匹配,不匹配返回Nonere_result = r'1[3-9]\d{9}'result = fullmatch(re_result, tel)print(result)
2020-10-21 09:17:25 154
原创 从入门到入狱------二进制转换
二进制类型/字节(bytes)bytes(数据) 二进制类型转换print(bytes(10)) # b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'print(bytes('abc',encoding='utf-8')) # b'abc'print(bytes([1,2,3])) # b'\x01\x02\x03',列表中的元素必须是整数# 字符串.encodestr1='hello'b1=str1.encode(encoding.
2020-10-21 09:13:40 225
原创 从入门到入狱-------常用模块
入门 N daymath 普通数学模块cmath 复数数学模块random 随机数模块random.radint (m,n) 产生m~n的随机数random.random 产生 0~1的随机数,左闭右开区间,取不到1random.shuffle(序列) 打乱列表的顺序random.choice(序列) 随机取一个列表中的元素random.choices(序列,k=N) 随机取N次元素,一次取一个os 文件/目录方法模块菜鸟教程地址:https://w
2020-10-19 19:11:28 295
原创 从入门到入狱--------json和异常
import json 模块导入json是一种数据格式,几乎所有的高级语音都支持这种数据格式的处理用于不同语言之间的数据交流json格式文件要求:一个json有且只有一个数据唯一的数据必须是json支持的数据类型的数据json支持的数据类型:数字类型(Number)—所有数字对应的类型,表示的时候直接写例如:-10,12.1,3e4…字符串类型(String)—用双引号引起来的字符集(只能是双引号),例如:“12”,“a12”,"\n123"布尔值(Bool) —只有true和fal
2020-10-19 09:20:45 128
原创 从入门到入狱-------包和文件操作
入门 N day----这个实际操作了过后更能帮助理解,光看文字着实枯燥—包一个包含有__init__.py文件的文件夹就是包包是用来对py文件(模块)进行分类或者封装–假如–创建有一个名为:names 的包里面有模块:xiaoming.py 的文件和xiaohong.pyxiaoming.py文件里面的变量:name1=‘小明’怎么使用包中的模块'''方式一:直接导入import 包名.模块名 ---导入import names.xiaoming包名.模块名.变量 ---使用
2020-10-15 18:03:03 159
原创 有参装饰器和迭代器/生成器作业
写一个装饰器@tag要求满足如下功能:def tag(name): def tag_(func): def new_func(*args,**kwargs): result=func(*args,**kwargs) return f'<{name}>{result}</{name}>' return new_func return tag_@tag(name='p')def ..
2020-10-15 09:51:36 81
原创 从入门到入狱-------装饰器、迭代器/生成器和模块
入门 N day有参装饰器在给函数添加功能的时候,可以通过参数控制具体的操作(操作不固定)'''格式:def 函数名0(装饰器的形参列表): def 函数名1(func): def 函数名2(*agrs,**kwargs): result=func(*args,**kwargs) 添加的功能 return result return 函数名2 return 函数名1有参装饰器的用法:@函数名0(装饰器实参列表)'''写一个装饰器可以在函数结束后打印指定的
2020-10-14 19:44:48 202
原创 函数和装饰器作业
为函数写一个装饰器,在函数执行之后输出 afterdef end1(func): def new_func(*args,**kwargs): func(*args,**kwargs) print('after') return new_func@end1def sums(x,y): print('执行结束')sums(1,2)为函数写一个装饰器,把函数的返回值 +100 然后再返回。def add_100(func): ..
2020-10-14 09:02:34 199
原创 从入门到入狱-------高阶函数和装饰器
入门 N daymax/minmax的普通用法:max(序列)—求序列中的最大元素,但是序列中的类型必须一致,元素本身必须支持比较运算max的实参高阶用法:max(序列,key=函数)—通过函数来定制求最大值的方式序列—需要获取某种最大值对应的序列函数—有且只有一个参数(代表序列中每个元素),有一个返回值(求最大值的时候的比较对象)# 普通用法nums=[15,30,51,69,90]print(max(nums)# 高阶用法 :求个位数最大的元素max_nums=max(num
2020-10-13 19:50:01 293
原创 从入门到入狱-------函数(二)
入门 N day----比较重要的部分来了,喜欢的欢迎收藏!----函数的返回值返回值就是从函数内部传送到外部的数据,默认情况下,函数内部产生的新数据在函数外部不能使用def func1(a, b): c = a + b print(c)n(1, 2) #3'''print(c) # NameError: name 'c' is not defined'''怎么确定函数返回值?python中每个函数都有返回值,返回值是什么就看执行函数体的时候遇到的return关
2020-10-12 19:12:11 117
原创 推导式和函数作业
入门 N day利用列表推导式, 完成以下需求:a. 生成一个存放1-100中各位数为3的数据列表:# 结果为 [3, 13, 23, 33, 43, 53, 63, 73, 83, 93]lits1=[i for i in range(1,100) if i%10==3]print(lits1)b. 利用列表推到是将 列表中的整数提取出来:# 例如:[True, 17, "hello", "bye", 98, 34, 21] --- [17, 98, 34, 21]list1=[
2020-10-10 18:03:43 242
原创 从入门到入狱-------函数(一)
入门 N day函数概念:函数就是对实现某一特定功能代码的封装。函数的分类(根据定义分类)系统函数:python已经定义好的,可以直接使用的函数,例如:print、input、max、min…等等自定义函数:由自己定义,自己使用,或者给别人使用的函数定义函数语法:def 函数名 (形参列表): 函数说明文档 函数体说明:def 关键字,固定写法函数名 自己命名,要求规范和变量名一样 要求:标识符不能是关
2020-10-09 19:38:16 250 2
原创 从入门到入狱------推导式
入门 N day推导式:用来快速方便产生列表或者字典的表达式列表推导式基本结构列表=[表达式 for 变量 in 序列]产生一个新的列表,列表中的元素就是每次循环对应的表达式的结果相当于:列表=[]for 变量 in 序列: 列表.append(表达式)list1 = [10 for i in range(3)]print(list1) # [10, 10, 10]list2 = [2 * i for i in range(1, 4)]print(list2) #
2020-10-09 18:30:13 271 2
原创 字符串作业
输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)例如: 输入**'abcd1234 ’ ** 输出**‘bd24’**str1=input('请输入字符串:')for i in range(1,len(str1),2): print(str1[i])输入用户名,判断用户名是否合法(用户名长度6~10位)user=input('请输入用户名:')if 6<=len(user)<=10: print(user,'输入合法')else..
2020-10-09 15:11:20 799
原创 从入门到入狱-------字符串和相关函数
入门 N day一个元素占一个1字符,一个转义字符占1个字符strx = 'sdaw'print(len(strx)) # 长度为4strx = ' sdadw'print(len(strx)) # 7strx = '\tdadw'print(len(strx)) # 5类型转换str所有的数据都能转换成字符串,在数据打印值外面加引号strx = 100print(type(str(strx))) # <class 'str'>name = 'dwa'
2020-09-30 15:36:55 208
原创 从入门到入狱-------集合和字符串
入门 N day集合集合是容器型数据类型,将{}作为容器的标志里面对每个元素用逗号隔开{元素1,元素2,元素3…} 集合是可变的,无序的,里面的元素是不可变的数据,唯一的<class ‘set’> 集合类型# 空集合x = {} # 这是空的字典,不是集合x1 = set{} #空集合元素不可变s2 = {1,2,3,'13212'}print(s2) # {1,2,3,'13212'}'''s3={1,3,5,[1,2]}print(s3)
2020-09-29 18:37:38 212
原创 字典列表作业
# 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明)stu = {'姓名': '小明', 'age': 18, '成绩': 78, '电话': '123456', '性别': '不明'}# 2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)# a.统计不及格学生的个数# b.打印不及格学生的名字和对应的成绩# c.统计未成年学生的个数# d.打印手机尾号是8的学生的名字# e.打印最高分和对应的学生的名字#
2020-09-29 10:55:51 612
原创 从入门到入狱------元组和字典
元组元组是容器型数据类型,将()作为容器的标志,不可变的(不支持增、删、改)里面多个元素用逗号隔开:(元素1,元素2,元素3…)元素可以是任何类型的数据,并且可以重复t1 = (10, 11, 12, '123', 'abc')print(type(t1), t1)只有一个元素的元组(元素,)如果一个元组中有且只有一个元素,那么唯一的元素后面必须加逗号t2 = (1)t3 = (1,)print(t2, type(t2)) # 1 <class 'int'> 不是元组类
2020-09-28 21:01:12 162
原创 从入门到入狱-----列表和相关函数
入门 N day列表切片 - 获取列表中部分元素(一次性获取多个元素)1.基本语法[开始下标:结束下标:步长] - 从开始下标开始获取到结束下标前为止,每次下标值增长加步长去获取下一个元素列表的切片一定是列表结束下标对应的元素一定取不到步长的正负代表取值的方向,步长为正表示从开始下标往后面取值,如果为负,则是从开始下标往前面取值取不到的范围是空列表list1 = [0, 1, 2, 3, 4, 5]print(list1[1:4:2]) # [1, 3]print(list1[5
2020-09-28 10:42:22 291
原创 列表作业
1.已知一个数字列表,求列表中心元素。list1=[1,5,7,7,4,5,6]a=0for i in range(len(list1)): if i & 1: a+=1print(list1[a])2.已知一个数字列表,求所有元素和。list1=[1,5,7,3,6,4,5]sum=0for i in list1: sum+=iprint(sum)3.已知一个数字列表,输出所有奇数下标元素。list1 = [1, 5, 7, 3, 6
2020-09-28 09:21:49 648
原创 从入门到入狱------数字和列表
入门 four daypython中和数字相关的类型:int(整型),float(浮点型),bool(布尔),complex(复数)1.int整型:python中整数支持4种写法:十进制数、二进制数、八进制数、十六进制数十进制数 :基数是0-9 表示的时候直接写:1,2,3,4,5,6…二进制数:基数0和1,表示的时候加前缀0b/0B:0b1010、0B1010八进制数:基数是0~7,表示的时候加前缀0o/0O:0o623,0O623十六进制:基数是09,af(A~F),表示的时候加0x/0X
2020-09-25 18:13:58 294
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人