推荐几个适合新人上手的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 条评论
登录 后参与评论

相关文章

异步数据存储

在过去几年工作中,对NoSQL数据存储使用经验以及随着NoSQL成为主要的数据存储和检索方式,让我洞察到应用程序必经的发展方向。至少对于基于Web和基于云的应用...

18311
来自专栏hotqin888的专栏

golang语言的办公工作流的包

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

1002
来自专栏阮一峰的网络日志

全文Feed的终极解决方案

但是,世界上的大部分Feed,都是摘要Feed,甚至是标题Feed。我们只好自己动手,制作全文Feed。

1122
来自专栏ImportSource

NoSQL分布式模型实现之一:Single Server

翻译内容: NoSQL Distilled 第四章 Distribution Models 作者简介: ? 本节摘要: 第四章我们主要说的是NoSQL运...

25210
来自专栏Crossin的编程教室

微信机器人进化指南

听说阿尔法狗又要挑战柯杰了。时至今日,人工智能不断刷新我们对这个世界的理解。或许再过不久,你真的不知道跟你在网上聊天的对象还是不是一个“人”,也不知道自己的工作...

4467
来自专栏jojo的技术小屋

原 荐 如何扒视频

作者:汪娇娇 时间:2017年11月8日 说到前端开发,免不了在网页里放视频,放视频的话,有时候又免不了扒视频,下面就是我扒视频的辛酸历程,大家且看且珍惜吧。 ...

4708
来自专栏hotqin888的专栏

真实实践中的MeritMS与Project Wise的校审流程对比

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

701
来自专栏恰同学骚年

操作系统核心原理-2.一些基本概念

  从概念上讲,计算机的结构是总线型的:布置一根总线将各种硬件设备挂在总线(Bus)上。

614
来自专栏LanceToBigData

Maven(三)在Eclipse中使用Maven与Maven坐标

这一篇讲解一下在eclipse中使用maven,在一些高版本的eclipse中是自带maven插件的。所以这里就不在讲解怎么安装插件了。 接下来我们创建一个Ma...

18310
来自专栏高性能服务器开发

微信、陌陌等著名IM软件设计架构详解

https://blog.csdn.net/justinjing0612/article/details/38322353

1193

扫码关注云+社区