推荐几个适合新人上手的Python项目

温馨提示:文末有福利

人生苦短,我用Python!

Python的前景光明不许要过多赘述了,那么作为新人如何快速上手这门语言呢?废话不多说,今天给大家分享三个极实用的Python爬虫案例。

1

爬取网站美图

爬取图片是最常见的爬虫入门项目,不复杂却能很好地熟悉Python语法、掌握爬虫思路。当然有两个点要注意:一、不要侵犯版权,二、要注意营养。

♦思路流程

第一步:获取网址的response,分页内容,解析后提取图集的地址。

第二步:获取网址的response,图集分页,解析后提取图片的下载地址。

第三步:下载图片(也就是获取二进制内容,然后在本地复刻一份)。

♦部分代码

♦运行结果

2

爬取微博数据

爬虫的最大功能之一就是整合数据,能弄到更全面的信息,真正做好大数据的分析,在这个数据说话的年代,影响是决定性的。(注意别侵权)

♦思路流程

1、利用chrome浏览器,获取自己的cookie。

2、获取你要爬取的用户的微博User_id

3、将获得的两项内容填入到weibo.py中,替换代码中的YOUR_USER_ID和#YOUR_COOKIE,运行代码。

♦部分代码

用wordcloud等软件生成词云,它会根据信息的频率、权重按比列显示关键字的字体大小。

3

爬取王者荣耀全套皮肤

怎么获取全套皮肤?用钱买,或者用爬虫爬取下来~虽然后者不能穿。这个案例稍微复杂一点,但是一个非常值得学习的项目。

♦思路流程

首先进入所有英雄列表,你会看到下图

在这个网页中包含了所有的英雄名称。点击其中一个英雄例如“百里守约”,进去后如下图:

△网址为https://pvp.qq.com/web201605/herodetail/196.shtml

网址中196.shtml以前的字符都是不变的,变化的只是196.shtml。而196是“百里守约”所对应的数字,要想爬取图片就应该进入每个英雄图片所在的网址,而网址的关键就是对应的数字。那么这些数字怎么找呢?

在所有英雄列表中,打开浏览器的开发者工具,刷新,找到一个json格式的文件,如图所示:

这时就会看到所有英雄对应的数字了。在上图所示的Headers中可以找到该json文件对应的网址形式。将其导入Python,把这些数字提取出来,然后模拟出所有英雄的网址即可

♦小节代码:

#爬取王者荣耀英雄图片

#导入所需模块

import requests

import re

import os

#导入json文件(里面有所有英雄的名字及数字)

url='http://pvp.qq.com/web201605/js/herolist.json' #英雄的名字json

head={'User-Agent':'换成你自己的head'}

html = requests.get(url,headers = head)

html=requests.get(url)

html_json=html.json()

#提取英雄名字和数字

hero_name=list(map(lambda x:x['cname'],html_json)) #名字

hero_number=list(map(lambda x:x['ename'],html_json)) #数字

♦下载图片

现在可以进入所有英雄的网址并爬取网址下的图片了。进入一个英雄的网址,打开开发者工具,在NetWork下刷新并找到英雄的皮肤图片。如图所示:

然后在Headers中查看该图片的网址。会发现皮肤图片是有规律的。我们可以用这样的方式来模拟图片网址

'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'+str(v)+'/'+str(v)+'-bigskin-'+str(u)+'.jpg',

在该网址中只有str(v)与str(u)是改变的(str( )是Python中的一个函数),str(v)是英雄对应的数字,str(u)只是图片编号,例如第一个图片就是1,第二个就是2,第三个……而一个英雄的皮肤应该不会超过12个(可以将这个值调到20等)。接着就是下载了。

♦下载代码:

执行完上面的代码后只需要执行main函数就行了

爬取下来的图片是这样,每个文件夹里面是该英雄对应的图片,如下图:

原文发布于微信公众号 - 机器学习算法与Python学习(guodongwei1991)

原文发表时间:2018-06-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Crossin的编程教室

【Pygame 第4课】 获取鼠标位置

最近微信上很火的“打飞机”游戏,通过手指在屏幕上触摸的位置来移动你的飞机。在电脑上,我们没法直接用手操作,但可以用鼠标替代手指。 在电脑游戏里,鼠标是个很好用的...

36910
来自专栏PPV课数据科学社区

编程 | 用python获取天气数据,并作定时播报

思路 1.调用和风天气的API,获取天气数据 2.用百度语音API,将天气数据合成语音 3.用树莓派每天早上定时播报天气(定时任务crontab + Pytho...

5077
来自专栏MixLab科技+设计实验室

技能之用iMovie制作预告片

hi,这是系列文章:技能之xxx的第1篇。 我为什么写这个系列的文章。因为我正在做一款app,我在团队中主抓产品设计、UX/UI设计、部分前端开发,少量运营。在...

26911
来自专栏编程软文

H5混合开发二维码扫描以及调用本地摄像头

2123
来自专栏知晓程序

如何优雅地发朋友圈?你需要这款简洁好看的小程序

普通的一天中,我们能看到各种各样的风景。人来人往,相遇离别,每一天,都能产生新的故事和回忆。

1234
来自专栏大数据挖掘DT机器学习

腾讯、网易、新浪新闻网站爬虫编写记录及评论格式分析

作者:reetsee.com首席运营官 http://blog.csdn.net/qq_17754181/article/details/45179667 至...

3525
来自专栏林德熙的博客

win10 uwp 商业游戏 界面添加图标感谢

在显示启动的时候,是需要加载游戏需要使用的资源,如果觉得这时需要控制进度条,就需要使用注入的方法,给他知道现在的进度,不过我现在不去做这里,于是就很简单的代码做...

561
来自专栏互联网杂技

优秀的UI设计原则

界面清晰最重要 界面清晰是UI设计的第一步,要想让用户喜欢你设计的UI,首先必须让用户认可它、知道怎么样使用它。让用户在使用时预期会发生什么,并方便地与它交互。...

2835
来自专栏企鹅号快讯

使用 Python+Selenium制作Flash游戏辅助

知道 Selenium 用来测试或爬取动态内容,还真没想过用来做游戏外挂 作者:sincerefly 来源:https://blog.yasking.org/a...

4277
来自专栏Java学习123

基于python的终端天气查询

2626

扫码关注云+社区