python
半两风
Python
展开
-
计算时间间隔
#计算任意两个时间之间的天数,周数import datetimeclass BetDate: ''' 计算两个时间之间的间隔天数 datetime.datetime.strptime() 将字符串的时间转化成指定格式 datetime.datetime.strftime() 将时间格式转化成指定格式的字符串内容 ''' def __init...原创 2019-07-19 22:29:13 · 545 阅读 · 0 评论 -
类 继承
# 继承class Person: def __init__(self, name, age): self.name = name self.age = age def get_name(self): return self.name def get_age(self): return self.age...原创 2019-07-21 22:47:46 · 77 阅读 · 0 评论 -
重写父辈方法
# 继承class Person: def __init__(self, name, age): self.name = name self.age = age def get_name(self): return self.name def get_age(self): return self.age...原创 2019-07-22 22:45:24 · 101 阅读 · 0 评论 -
class
#编写一个程序,判断学生是否完成作业# 定义一个学生类,有姓名,年纪,学科,学作业的方法# 老师有表扬和批评的方法class student: ''' 定义一个学生类 ''' def __init__(self,name,grade,subject): self.name = name self.grade = gr...原创 2019-07-18 23:29:15 · 113 阅读 · 0 评论 -
2020-10-22今日头条爬虫更新
今日头条爬取街拍小姐姐图片--20201022今天发现今日头条有了新的反扒机制,导致之前的爬虫无法执行,现更新## 导入需要的包import jsonimport osimport timefrom hashlib import md5from urllib.parse import urlencodeimport reimport requestsfrom bs4 import BeautifulSoupfrom requests.exceptions import Reque原创 2020-10-22 15:14:10 · 859 阅读 · 0 评论 -
requests实现爬取bilibili小视频
import os import reimport timeimport requestsimport randomfrom urllib3.request import urlencode定义一个函数,获取网址def get_page(next_offset): params = {'page_size': 10,'next_offset': next_offs...原创 2020-03-29 23:18:03 · 621 阅读 · 0 评论 -
beautiful_获取中国天气网数据
import reimport osimport timeimport pandas as pdimport requestsfrom bs4 import BeautifulSoupimport random# 完整代码url = 'http://www.weather.com.cn/weather/101010100.shtml'header = {'User-Agen...原创 2020-03-29 23:11:42 · 147 阅读 · 0 评论 -
beautiful_天眼查
import reimport osimport timeimport pandas as pdimport requestsfrom bs4 import BeautifulSoupimport random# 这是没有登录的状态下爬取的数据,如果需要更多,则需要添加账号登录后 的cookie参数信息。当然也会增加封号的风险url = 'https://m.tianyan...原创 2020-03-29 23:10:45 · 244 阅读 · 0 评论 -
requests_猫眼电影
import re import osimport timeimport randomimport requestsimport pandas as pd# 方法一,用于网页翻页有规律的情况,如0,10,20,30,40# 存储数据 datalist = []for i in range(11): #爬取10页 print('正在爬取第%s页'%i) u...原创 2020-03-29 23:09:34 · 187 阅读 · 0 评论 -
requests_爬取链家面积和价格
#导入模块import osimport reimport pandas as pdimport randomimport timeimport requests爬取数据# 存储datalist = []for i in range(1,11): # 爬取10页 print('正在爬取第%s页'%i) url = 'https://gz.lianjia....原创 2020-03-29 23:08:13 · 250 阅读 · 0 评论 -
selenium实现动态网页爬取
# 动作链# 反爬的一种手段,通过移动图片来进行反爬from selenium import webdriver # 声明一个浏览器对象from selenium.webdriver import ActionChainsimport timeimport pandas as pdfrom bs4 import BeautifulSoupfrom selenium.webdriv...原创 2020-03-29 23:06:34 · 1044 阅读 · 0 评论 -
urllib实现链家图片爬取
导入模块import reimport osimport urllib.request# urllib 库# requests:http请求模块,用来模拟请求# error: 异常处理模块,如果出现请求出错,可以捕捉异常# parse:提供url处理方法,如拆分,解析,合并等# robotparse:识别网站的robots.txt文件,判断哪些网站可以爬取# 发送请求的两...原创 2020-03-29 23:04:46 · 399 阅读 · 1 评论 -
BeautifulSoup实现豆瓣电视评论
#导入模块import reimport osimport timeimport randomimport pandas as pdimport requestsfrom bs4 import BeautifulSoup#爬取数据header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleW...原创 2020-03-29 23:02:22 · 139 阅读 · 0 评论 -
python爬虫_舌尖上的中国
#导入模块import reimport osimport timeimport randomimport requestsimport pandas as pdimport jiebafrom wordcloud import WordCloudfrom wordcloud import STOPWORDS # 停用词import matplotlib.pyplot as...原创 2020-03-29 23:00:49 · 359 阅读 · 0 评论 -
单行实现进度条更新,并监控时间
# TextProBarV3.py"""Created on 2020/3/21 21:22@author:xuejian"""import timescale = 50print('执行开始'.center(scale//2,"-"))start = time.perf_counter() # 通过time的perf_counter()获取当前读秒,实现计时需要多次读秒...原创 2020-03-21 22:05:58 · 280 阅读 · 0 评论 -
单行显示进度
import timefor i in range(101): print('\r{:3}%'.format(i),end = '') time.sleep(0.1)print('')print("------执行完成------")原创 2020-03-21 21:21:02 · 145 阅读 · 0 评论 -
进度条
# TextProBarV1.py"""Created on 2020/3/21 20:53@author:xuejianDesc:文本进度条"""import timescale = 10print("-----执行开始-----")for i in range(scale + 1): # 遍历10次每次进度都是10% a = "*" * i # 每进一次进度,则多...原创 2020-03-21 21:03:15 · 180 阅读 · 0 评论 -
实现三个整数值为元素的列表对应元素求和
#实现三个以整数为元素的列表的对应元素相加lst1 = [1,2,3,4,5]lst2 = [6,7,8,9,10]lst3 = [7,8,9,2,1]num = [sum(i)for i in zip(lst1,lst2,lst3)]# print(num)num2 = map(lambda x,y,z : x +y +z ,lst1,lst2,lst3)print(list(...原创 2019-07-17 23:24:19 · 476 阅读 · 0 评论 -
多种分组聚合
import pandas as pdimport numpy as npimport matplotlibimport matplotlib.pyplot as plt#这两个参数的默认设置都是False 用于将数据对齐展示pd.set_option('display.unicode.ambiguous_as_wide', True)pd.set_option('display....原创 2019-08-22 22:53:50 · 216 阅读 · 0 评论 -
random库 获取30个0~9的数字
获取30个0~9的数字import randomnum = [random.randint(0,9) for i in range(30)]print(num)原创 2019-07-10 23:32:54 · 648 阅读 · 0 评论 -
猜字游戏
知识点: isidgit(): 字符串的方法,用来判断字符串是否是由全数字组成# -*- coding:utf-8 -*-""" 猜字游戏,计算器随机生成一个100以内的正整数。 用户通过键盘输入数字。猜测计算器生成的数字"""#调用包import random#定义一个0到100的正整数number = random.randint(0,100)...原创 2019-07-12 22:30:42 · 362 阅读 · 0 评论 -
map函数
map函数: 参数1:表达式 参数2:可迭代对象map函数返回的是一个迭代器m = list(map(lambda x:x+3,range(10)))print(m)原创 2019-07-17 23:14:07 · 91 阅读 · 0 评论 -
匿名函数
a = [(lambda x : x+3)(n) for n in range(10)]print(a)原创 2019-07-17 23:09:32 · 55 阅读 · 0 评论 -
判断啊=97 是否在字典中
定义一个函数,两个参数,一个是已有的数据,一个是需要求证的数据def fidv(dct,**kwargs): r = {k:v for k,v in kwargs.items() if dct.get(k) ==v} return rd = {'a':97,'b':98,'c':99,'d':100,'e':101,'f':102,'g':103,'h':104, ...原创 2019-07-17 22:39:41 · 196 阅读 · 0 评论 -
判断奇偶
习题: 用户输入数字,判断最后一位是奇数还是偶数, 如果是偶数则反转,如果不是则不变#输入任意整数,判断最最后一位数是奇偶,如果是偶数,就倒转while True: number = input("please input one number:") if not number.isdigit() : print("请输入数字") else...原创 2019-07-14 22:03:25 · 529 阅读 · 0 评论 -
字典键值对互换
#有字典 myinfor = {'shanghai':'0512','beijing':'071','hangzhou':'0523'}myinfor = {'shanghai':'0512','beijing':'071','hangzhou':'0523'}infor ={}for k,v in myinfor.items(): infor[v] = kprint(infor...原创 2019-07-09 23:05:32 · 1978 阅读 · 0 评论 -
有一个元祖,t =(3,6,1,0,2,4,6,0,8,10,7,4,0,2,0,10,6,2,4,1)
t =(3,6,1,0,2,4,6,0,8,10,7,4,0,2,0,10,6,2,4,1)d = dict() #创建一个空字典,用来映射关系for n in t: if n in d: d[n] +=1 else: d[n] =1print(d)思路: 统计每个数据出现的次数, 可以通过字典的形式映射出来,所以先定义一...原创 2019-07-09 22:40:24 · 276 阅读 · 0 评论 -
编写程序,寻找3个能被17整除的正整数
思路: 使用random 模块,用以获取随机的数字,通过if条件语句进行判断。 预先定义一个空列表来承载结果,并限制长度等于3的时候停止循环#寻找能被17 整除的三个正整数lst =[]import randomwhile True: number = random.randint(0,100) if number % 17 ==0: ...原创 2019-07-12 23:09:50 · 1869 阅读 · 0 评论 -
sklearn_朴素贝叶斯
#垃圾邮件分类,新闻分类from sklearn.naive_bayes import MultinomialNB # 导入朴素贝叶斯APIfrom sklearn.datasets import fetch_20newsgroups #导入新闻数据抓取器from sklearn.feature_extraction.text import TfidfTransformer #从特征抽...原创 2019-03-13 23:09:01 · 222 阅读 · 0 评论 -
python 学习总结
近日学习python,有一些收获,就记录下来# 面向过程多次调用会导致太复杂, 你中有我 ,我中有你 ,导致无法修改 ,所以出现了面向对象# 面向对象就是以最终目标为对象, 其有的特征属性就是一个又一个的函数# 类是图纸# 飞机是图纸做出来的对象# 飞机之间有类似额属性, 他们额属性都来自类1、猫类# class Cat:# """小猫爱吃鱼,小猫爱喝水""" ...原创 2019-02-13 22:48:18 · 130 阅读 · 0 评论 -
python 类初学之 小猫
class Cat: """小猫爱吃鱼,小猫爱喝水""" #传参数 def __init__(self,newname): #初始化参数,赋值 self.name = newname def eat(self): #哪个对象调用这个类,那self就是他本身 #调用属性 print("%...原创 2019-01-31 21:43:26 · 974 阅读 · 0 评论 -
python 类初学之小明爱跑步
#小明爱跑步# 小明体重75.0公斤# 每次跑步减少0.5公斤# 吃东西增加1公斤class Person: """docstring for Person""" def __init__(self,name,weight): self.name =name self.weight =weight #文档说明 def ...原创 2019-01-31 21:42:45 · 2518 阅读 · 0 评论 -
判断文本中字符的次数
#统计文本中字母的出现次数s = """ASlumber Did My Spirit SealWilliam WordsworthAslumber did my spirit seal1;Ihad no human fears:She seemed a thing that could not feelThe touch of earthly years.No motion has...原创 2019-07-14 22:36:00 · 148 阅读 · 0 评论 -
字典键值替换
将字典的键值进行替换,难点在于当值不是唯一的时候,该如果解决#将字典键值替换d = {'book':['python','djaing','date'],'author':'laoqi','publisher':'phei'}dd = {}for k,v in d.items(): if len(v) >1: for i in v: ...原创 2019-07-14 23:05:29 · 1874 阅读 · 1 评论 -
习题大全
# !/users/suejian/pycharmproject# -*- coding:utf-8 -*-#判断用户输入的数字是奇数还是偶数# while True:# number = input("请输入一个数字")# if not number.isdigit():# print("please input one number")# ...原创 2019-07-15 22:41:08 · 157 阅读 · 0 评论 -
找出大于平均值的学科分数
dd ={}d = {'python':89,'java':58,'physics':65,'math':87,'chinese':74,'english':60}values = [i for i in d.values()]mean_v = sum(values)/len(values)for k,v in d.items(): if v > mean_v: ...原创 2019-07-15 22:35:38 · 565 阅读 · 0 评论 -
找出列表中小于0的数
1、列表推导式lst = [2,4,-7,19,-2,-1,45]lst_1 = [i for i in lst if i <0]print(lst_1)2、filte()函数lst = [2,4,-7,19,-2,-1,45]def is_zero(x): if x <0: return xprint(list(filter(is...原创 2019-07-15 22:09:40 · 5383 阅读 · 3 评论 -
回文数
回文数: 假设一个5位数第一位等于最后一位,第二位等于倒数第二位,那么这个数就是一个回文数while True: number = input('please input one number') if not number.isdigit(): print('请输入一个数字') elif len(number) != 5: ...原创 2019-07-15 21:58:47 · 76 阅读 · 0 评论 -
列表推导式
lst =[1,5,3,10,6,9,5,2,6,2,7,4,6,1,8,4,9,9,6,8]lst2 = ['even' if i % 2 == 0 else 'old' for i in lst]print(lst2)原创 2019-07-10 23:27:43 · 83 阅读 · 0 评论 -
字符串
#有一个字符串,要求显示字符串中每个单词的大写,小写两种格式,并显示该单词的长度s = 'life is sort you need python'r = [(one.upper(),one.lower(),len(one)) for one in s.split()]print(r)...原创 2019-07-10 23:19:56 · 99 阅读 · 0 评论