Python 获取昨天日期

Python 获取昨天日期

Python 获取昨天日期 Python3 实例
以下代码通过导入 datetime 模块来获取昨天的日期:


# Filename : test.py
  
# 引入 datetime 模块
import datetime def getYesterday():  	today=datetime.date.today()  	oneday=datetime.timedelta(days=1)  	yesterday=today-oneday   	
return yesterday 
# 输出
print(getYesterday())

执行以上代码输出结果为:

 2015-06-10

以上实例输出的意思为昨天的日期是 2015 年 6 月 10 日。
Python 获取昨天日期 Python3 实例

Python 计算每个月天数

Python 计算每个月天数

Python 计算每个月天数 Python3 实例

以下代码通过导入 calendar 模块来计算每个月的天数:


# Filename : test.py
 
import calendar monthRange = calendar.monthrange(2013,6)
print(monthRange) 

执行以上代码输出结果为:

 (5, 30) 

输出的是一个元组,第一个元素是所查月份的第一天对应的是星期几(0-6),第二个元素是这个月的天数。以上实例输出的意思为 2013 年 6 月份的第一天是星期六,该月总共有 30 天。

Python 计算每个月天数 Python3 实例

Python 生成日历

Python 生成日历

Python 生成日历 Python3 实例

以下代码用于生成指定日期的日历:


# Filename : test.py
  
# 引入日历模块
import calendar 
# 输入指定年月
 yy = int(input("输入年份: ")) mm = int(input("输入月份: ")) 
# 显示日历
print(calendar.month(yy,mm)) 

执行以上代码输出结果为:

 输入年份: 2015 输入月份: 6
      June 2015 Mo Tu We Th Fr Sa Su  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 

Python 生成日历 Python3 实例

Python 二次方程

Python 二次方程

Python 二次方程 Python3 实例

以下实例为通过用户输入数字,并计算二次方程:


# -*- coding: UTF-8 -*- 
# Filename : test.py
  
# 二次方程式 ax**2 + bx + c = 0
# a、b、c 用户提供 
# 导入 cmath(复杂数学运算) 模块
import cmath 
a =float(input('输入 a: ')) b =float(input('输入 b: ')) c =float(input('输入 c: ')) 
# 计算 d = (b**2) - (4*a*c) 
# 两种求解方式 sol1 = (-b-cmath.sqrt(d))/(2*a) sol2 = (-b+cmath.sqrt(d))/(2*a)
print('结果为{0  } 和{1  }'.format(sol1,sol2)) 

执行以上代码输出结果为:

 $ python test.py
  输入 a: 1 输入 b: 5 输入 c: 6 结果为 (-3+0j) 和 (-2+0j) 

该实例中,我们使用了 cmath (complex math) 模块的 sqrt() 方法 来计算平方根。

Python 二次方程 Python3 实例

Python3爬取QQ空间信息(下)

|

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏

|
|

下载W3Cschool手机App,0基础随时随地学编程>>戳此了解

|

导语

内容回顾:

Python爬取QQ空间信息(上)

按照(上)中的安排,本期内容为抓取QQ空间的好友信息并做可视化分析。

不过图省事,我只抓取了我关心和关心我的好友信息。

那就让我们愉快地开始吧~~~

相关文件

百度网盘下载链接: 

https://pan.baidu.com/s/1_4Gmoc06wAWOsRSyMbPuvw 

密码: fy5n

开发工具

Python版本:3.6.4

相关模块:requests模块;selenium模块;lxml模块;pyecharts模块;以及一些Python自带的模块。

环境搭建

同Python爬取QQ空间信息(上)。

pyecharts模块安装参见:

Python简单分析微信好友。

原理简介

T_T

空间都登录了,剩下的就是分析数据包,找到需要的接口来获取需要的数据并分析呗。。。

PS:

公众号提供的脚本只能抓取你有权限访问的数据。换句话说,就是你能看到的合法数据。

所有脚本仅供学习交流。

其他你们想的很美的要求,想想就行了T_T

具体实现过程详见相关文件中的源代码。

使用方式

在cmd窗口运行QQ_Spider.py
文件即可。

结果展示

借了一个玉树临风、面如冠玉、仪表不凡的小哥的QQ号做的分析QAQ。

qq好友男女比例:


Python3爬取QQ空间信息(下)

qq好友年龄分布:

Python3爬取QQ空间信息(下)

qq好友位置分布:

Python3爬取QQ空间信息(下)

That's All.

更多

代码截止2018-06-03测试无误。

事实上,本文提供的脚本可抓取的好友信息并不是仅有结果展示中的那些:

Python3爬取QQ空间信息(下)

T_T我只是懒得一个个可视化了。。。

So,有兴趣的朋友可以自己去可视化好友的其他信息。嗯,就这样吧。

Python3爬取QQ空间信息(上)

|

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏

|
|

下载W3Cschool手机App,0基础随时随地学编程>>戳此了解

|

导语

翻了翻之前关于爬虫的文章。。。

似乎一直在欺负小网站,没什么挑战性。。。

那么,就来“试水”一波TX吧~~~

本着细水长流(偷懒)的原则T_T,这期文章我决定拆成两篇写。第一篇主要解决QQ空间的登录问题并尝试抓取一些信息,第二篇致力于抓取QQ空间的好友信息并做可视化分析。

让我们愉快地开始吧~~~

相关文件

百度网盘下载链接: 

https://pan.baidu.com/s/1D3C5cSp7YhuTooPJa7znjw 

密码: yccp

开发工具

Python版本:3.6.4

相关模块:

requests模块;

selenium模块;

lxml模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块,并前往:

http://npm.taobao.org/mirrors/chromedriver/

下载与自己使用的Chrome浏览器版本对应的驱动文件,下载完毕后将chromedriver.exe所在文件夹添加到环境变量中即可。

原理简介

本文主要解决QQ空间的登录问题。

其主要思路为:

利用selenium模拟登录QQ空间从而获取登录QQ空间所需的cookie值,这样就可以利用requests模块来抓取QQ空间的数据了。

为什么这么绕?

selenium好久不用,写起来太慢了。而且它本身速度和资源占用等问题一直为大家所诟病。

And 省略无数条理由。

一些细节:

(1)第一次获取cookie之后将其保存下来,下次再登录之前先试试保存的cookie有没有用,有用直接使用就可以了,这样可以进一步节省时间。

(2)抓包分析过程中,可以发现抓取QQ空间数据所需请求的链接都包含g_tk这个参数,这个参数实际上是使用cookie中的skey参数计算获得的,懒得打公式了,直接贴一小段代码吧:


Python3爬取QQ空间信息(上)

最后:

不抓点数据好像不能证明这篇文章真的有用?

好吧,那就把:

Python3爬取QQ空间信息(上)

扒下来吧~~~

具体实现过程详见相关文件中的源代码。

使用演示

QQ号(username)和密码(password):

在QQ_Spider.py
文件中填写,位置如下图所示:

Python3爬取QQ空间信息(上)

运行:

在cmd窗口运行QQ_Spider.py
文件即可。

结果:

Python3爬取QQ空间信息(上)Python3爬取QQ空间信息(上)

That's All.

下期预告

在本期基础上抓取好友的个人信息,并可视化分析抓取的结果。有兴趣的小伙伴可以提前试试~~~

事实上,微调本文所提供的代码,理论上是可以抓取QQ所有用户的信息的。当然,只是理论上,以及干很多有趣的事情。

T_T作为一个不搞事且不爱喝茶的boy,上述的理论我就不负责实现了。

Python3爬取网易云音乐评论

|

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏

|
|

下载W3Cschool手机App,0基础随时随地学编程>>戳此了解

|

导语

利用Python为自己喜欢的音乐制作专属词云。至于词的来源嘛,当然是对应歌曲的所有评论或者热门评论啦!!!毕竟网易云音乐最得意的大概就是那些刷了我朋友圈n多遍的评论了吧~~~

Python3爬取网易云音乐评论

相关文件

百度网盘下载链接: 

https://pan.baidu.com/s/16GpVk4EDq9hMYZeBoYZmFQ 

密码: dhm4

Python3爬取网易云音乐评论

主要思路

利用Python爬取网易云音乐中相应歌曲的所有评论,并利用这些评论制作歌曲的专属词云。

具体过程见相关文件中的源代码。

Python3爬取网易云音乐评论

开发工具

Python版本:3.5.4

相关模块:

requests模块、jieba模块、scipy模块、wordcloud模块、pycrypto模块、selenium模块以及一些Python自带的模块。

chromedriver_win32版本:2.3.4

chrome版本:65.0.3298.4

Python3爬取网易云音乐评论

环境搭建

(1)安装Python(添加到环境变量)并pip安装相关模块;

(2)安装chrome浏览器,并将相关文件中提供的chromedriver.exe文件放在python安装文件夹中的Scripts文件夹内。

PS:

(1)若chromedriver.exe文件放在其他文件夹,则需将对应文件夹路径添加到环境变量中!

(2)部分相关模块我在相关文件中提供了编译好的whl文件,使用pip+whl文件路径+whl文件名安装即可。

Python3爬取网易云音乐评论

使用方式

在cmd窗口运行并根据提示输入就可以啦~~~

Python3爬取网易云音乐评论

使用演示

利用歌曲热门评论制作词云:

Python3爬取网易云音乐评论

Python3爬取网易云音乐评论

利用歌曲所有评论制作词云:

Python3爬取网易云音乐评论

Python3爬取网易云音乐评论

更多

(1)因为是单进程,所以当评论较多时生成图云的速度会比较慢,因此请慎重选择用所有评论制作词云(昨天晚上多线程跑到一半被封了T_T);

(2)后续会有更多关于网易云音乐的内容,这算是初次试水吧,毕竟要从自己最喜欢的东西做起。

Python3爬取房价信息并分析

|本文转载至知乎ID:Charles(白露未晞)知乎个人专栏|
|下载W3Cschool手机App,0基础随时随地学编程>>戳此了解|

导语

进入正题,利用Python爬取房价信息并进行简单的数据分析。好久没发爬虫相关的内容了,想想还是抽空过来发一篇吧~~~

Ok,让我们开始吧~~~

相关文件

网盘下载链接: 

https://pan.baidu.com/s/1fDYFmz9JqN1wcDu_wSvpbw 

密码: 1f99

开发工具

Python版本:3.6.4

相关模块:openpyxl模块;requests模块;bs4模块;pyecharts模块;以及一些python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

pyecharts模块安装可参考:

Python简单分析微信好友

原理简介

需求:

根据输入的城市名获取该城市的房价信息;

对获得的数据进行简单的分析。

目标网站:

链家网(https://dl.lianjia.com/)

目标数据(图中圈出的):

Python3爬取房价信息并分析

实现思路

很基础的爬虫,不需要任何分析。直接请求需要的网页地址,然后利用bs4模块解析请求返回的数据并获取所需的信息即可。

然后再对这些信息进行简单的分析。

其中信息保存到Excel中,分析时读取即可。

具体实现细节详见相关文件中的源代码。

数据爬取演示

在cmd窗口运行Spider.py
文件后根据提示输入相关的信息即可。

视频演示如下:

数据分析

以北京为例:

北京房价(元/平方):

Python3爬取房价信息并分析

北京房价(万元/套起):

Python3爬取房价信息并分析

emmmm,算了,不分析了吧。

更多扎心的画图分析可参考:

Python抓取并分析天气数据

更多

代码截止2018-05-06测试无误。

Python3抓取并分析天气数据

|本文转载至知乎ID:Charles(白露未晞)知乎个人专栏|
|下载W3Cschool手机App,0基础随时随地学编程>>戳此了解|

导语

利用Python“简单地”抓取并分析一下天气数据。

T_T翻了翻公众号之前文章。。。

很少有把重点放在数据可视化分析上。。。

所以算是填补一下之前的空白吧~~~

Let's Go!

相关文件

文件下载链接: 

https://pan.baidu.com/s/1dxoxhdu3sqAcNDUKFub0Xg 

密码: jc52

开发工具

Python版本:3.6.4

相关模块:PIL模块;requests模块;pyecharts模块;以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

额外说明:

pyecharts模块安装时请依次执行以下命令:

pip install 

echarts-countries-pypkg

pip install 

echarts-china-provinces-pypkg

pip install 

echarts-china-cities-pypkg

pip install 

pyecharts

若安装过程中出现:

'utf-8'codec can't decode byte 0xb6

或者类似的编码错误提示。

可尝试修改Python安装文件夹下如下图所示路径下的__init__.py
文件的第75行代码:

Python3抓取并分析天气数据

修改为下图所示内容:

Python3抓取并分析天气数据

主要思路

利用国家气象局和百度天气查询API接口来获取当前天气数据,主要包括温度、湿度、气压等。

获取相关数据之后利用pyecharts模块和PIL模块对数据进行可视化分析。

具体实现过程详见源代码。

结果展示

使用:

在cmd窗口中运行analysis.py
文件即可。

要画什么图把对应的函数调用注释去掉就好啦:

Python3抓取并分析天气数据

结果:

(打开相关文件中的html文件查看效果更佳,到处点一点有惊喜~~~)

(1)全国部分城市空气质量

Python3抓取并分析天气数据

(2)天气预报简图

Python3抓取并分析天气数据

(3)部分城市气温柱状图

Python3抓取并分析天气数据

(4)部分城市气温折线图

Python3抓取并分析天气数据

(5)部分城市相对气压饼图

Python3抓取并分析天气数据

(6)部分城市气温分布图

Python3抓取并分析天气数据

(7)北京城市湿度

Python3抓取并分析天气数据

(8)南京天气信息雷达图

Python3抓取并分析天气数据

有些是为了画图而画图了,所以看起来逻辑很怪T_T

更多

代码截止2018-04-08测试无误。

Echarts作为百度开源的一个数据可视化 JS 库,功能还是十分强大的,有兴趣的朋友可以尝试去绘制一些其他有趣的图表。

Python3抓取猫眼电影数据

|本文转载至知乎ID:Charles(白露未晞)知乎个人专栏|
|下载W3Cschool手机App,0基础随时随地学编程>>戳此了解|

导语

T_T 愚人节似乎不宜出门?

那就爬波猫眼电影看看有什么值得看的电影?

于是T_T

大概是没什么技术含量的~~~

Let's Go!!!

相关文件

百度网盘下载链接: 

https://pan.baidu.com/s/1WJ8PL5nydttXjteQOWqRrg 

密码: v78a

开发工具

Python版本:3.6.4

相关模块:openpyxl模块;requests模块;win_unicode_console模块;bs4模块;以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

主要思路

目的:

爬取http://maoyan.com/films中的电影信息:

Python3抓取猫眼电影数据

其中要爬取的内容为:

电影名、电影评分、电影介绍页链接以及电影简介。

思路:

先爬取电影名、电影评分和电影介绍页链接,再根据电影介绍页链接爬取电影简介。

这么算下来,一页30部电影,需要31个requests。

结果只是为了爬这么点数据,效率可想而知T_T

最后把爬到的数据存入Excel中。

具体实现方式详见相关文件中的源代码。

补充说明

(1)cookies.py
文件中的cookie获取方式

Python3抓取猫眼电影数据

按上图所示方式获得cookie值后填入cookies.py
文件的相关位置中:

Python3抓取猫眼电影数据

第一个Cookies列表是不含登录信息的cookie;

第二个login_Cookies列表是含登录信息的cookie。

含登录信息的cookie获取方式和不含登录信息的cookie获取方式相同,但是需要事先在网页上登录(登录选项在网页的右上角)。

(2)关于猫眼的反爬虫

猫眼电影的反爬虫机制十分到位。T_T

首先是对于非登录用户,你只能查看前100页的电影信息。其次,如果你的请求过于频繁,是会被封的:

Python3抓取猫眼电影数据

经过测试,得到的结论如下:

设置随机的时间间隔并不有效防止ip被封;

更换cookie值无法防止ip被封;

爬取20页左右的电影数据后代码就GG了等等。

没有仔细研究猫眼电影是如何识别爬虫的。

但是可以感觉出其识别机制很智能。

比如我被封之后想尝试通过更换ip解决,但是我发现更换ip地址之后可以获取的数据量竟然比前一个ip少了很多。

因此,本人提供的正版源代码没有想过和猫眼的维护人员斗智斗勇,只是加了个随机的时间间隔。可以爬取的数据量在25页左右。选个电影而已,不想搞这么复杂。斗智斗勇的结果可能就是验证码输入越来越麻烦,给网站带来不必要的压力,影响正常用户的使用体验等等。弊大于利。

反爬虫解决方案

为了不让爬虫爱好者失望,还是稍微提一下吧~~~

网上关于反爬虫机制的解决方案很多,比如使用代理池之类的等等。

本人只是针对猫眼电影信息爬取过程中存在的反爬虫机制提出一项解决方案。

方案很简单,它不就是想让我们输入验证码来证明我们是人嘛~~~那就证明给它看咯。

简单测试后可以发现:

只要把识别之后的验证码和一些其他参数以post的方式请求:

http://maoyan.com/films?__oceanus_captcha=1

这个链接就可以解除ip封锁~~~

很简单。

我在相关文件中提供了一个测试版本(test.py
)。

至于验证码获取的接口以及验证码如何自动识别,我就不一一介绍了,测试版本里也没有(源代码里获取验证码的接口只是临时接口,所以不是一个普适的版本)。。。

感兴趣的同学可以自己研究一下~~~

挺简单的,方案也很多T_T,但是为了避免别人滥用我就不公布最终的验证码破解版本了。

使用演示

在cmd窗口中运行MY_Spider.py
文件即可。

如下图所示(爬取20页数据):

Python3抓取猫眼电影数据Python3抓取猫眼电影数据

其中9分以上的电影有:

摔跤吧!爸爸  

 

战狼2  

 

小萝莉的猴神大叔  

 

厉害了,我的国  

 

寻梦环游记  

 

霸王别姬  

 

速度与激情7  

 

红海行动  

 

神秘巨星  

 

疯狂动物城  

 

冰雪奇缘  

 

泰坦尼克号  

 

看不见的客人  

 

泰坦尼克号3D  

 

速度与激情8  

 

奇迹男孩  

 

缝纫机乐队  

 

夏洛特烦恼  

 

战狼  

 

湄公河行动  

 

蝙蝠侠:黑暗骑士  

 

九品芝麻官  

 

头号玩家  

 

唐人街探案2  

 

前任3:再见前任  

 

帕丁顿熊2  

 

公牛历险记  

 

辛德勒的名单  

 

一个人的课堂  

 

智取威虎山  

 

你的名字。  

 

英雄本色  

 

二十二  

 

美国队长2  

 

刀剑神域:序列之争  

 

银河护卫队  

 

变形金刚4:绝迹重生  

 

我的少女时代  

 

春光乍泄  

 

闪光少女  

 

熊出没·变形记  

 

羞羞的铁拳  

 

芳华  

 

捉妖记  

 

建军大业  

 

侏罗纪世界  

 

熊出没·奇幻空间  

 

寻龙诀  

 

末日崩塌  

 

老炮儿  

 

熊出没之熊心归来  

 

比得兔  

 

恋爱回旋  

 

南极之恋  

 

追龙  

 

银河护卫队2  

 

滚蛋吧!肿瘤君  

 

美人鱼  

 

唐人街探案  

 

阿凡达  

 

拆弹·专家  

 

魔兽  

 

钢铁侠3  

 

蓝精灵:寻找神秘村  

 

至爱梵高·星空之谜  

 

爱在记忆消逝前  

 

碟中谍5:神秘国度  

 

傲娇与偏见  

 

That'all~~~

看电影去了~~~

更多

代码截止2018-04-01测试无误。

若日后猫眼电影有较大更新,源代码将仅供参考。