不懂代码也能爬取数据?试试这几个工具
前天,有个同学加我微信来咨询我:
“猴哥,我想抓取近期 5000 条新闻数据,但我是文科生,不会写代码,请问该怎么办?”
猴哥有问必答,对于这位同学的问题,我给安排上。
先说说获取数据的方式:
一是利用现成的工具,我们只需懂得如何使用工具就能获取数据,不需要关心工具是怎么实现。
打个比方,假如我们在岸上,要去海上某个小岛,岸边有一艘船,我们第一想法是选择坐船过去,而不会想着自己来造一艘船再过去。
第二种是自己针对场景需求做些定制化工具,这就需要有点编程基础。
举个例子,我们还是要到海上某个小岛,同时还要求在 30 分钟内将 1 顿货物送到岛上。
因此,前期只是单纯想获取数据,没有什么其他要求的话,优先选择现有工具。
可能是 Python 近来年很火,加上我们会经常看到别人用 Python 来制作网络爬虫抓取数据。
从而有一些同学有这样的误区,想从网络上抓取数据就一定要学 Python,一定要去写代码。
其实不然,猴哥介绍几个能快速获取网上数据的工具。
1.Microsoft Excel你没有看错,就是 Office 三剑客之一的 Excel。
Excel 是一个强大的工具,能抓取数据 ...
说说 Django 如何优雅地对接 Mongodb
大家好,我是猴哥。
近来在研究 Django 对接 MongoDB 数据库,遇到一些坑,自己随便做下总结。
1.前言Django 更新迭代速度真的是快,现在最新版本都 3.0.5 了。如果有留意 Django 在 GitHub 上的仓库,不难发现几乎每天都有人在提交。
不得不能说 Django 官方团队好积极呀。
软件的版本更新快,其实也算是一件好事。如果我们在使用过程中发现问题和缺陷,提交给团队,能很快得到修复。但这不意味着我们要跟着版本更新的节奏走,建议根据自身情况来定。
个人研究和学习,使用最新版本倒不是问题。
如果是公司或者团队要用于商业,特别是已经上线的,最好是求稳。选择官方有长期支持版本,或保持跟最新版本有两~三个版本差。
目前,Django 团队对各个版本的支持情况。
不难看出,Django 3.0 版本也算是一个过渡版本。
3.0.5 在今年 8 月份就停止主流维护支持,到明年 4 月份就停止维护了。
具体是什么意思?说人话。
3.0.5 版本从现在到 2020 年 8 月份,再这段时间内版本更新迭代会比较快,既有实现新需求,又要修复遗留的重大缺陷。
8 月份 ...
GitHub 标星10k+,新型冠状病毒(2019-nCoV)最全的数据集在这里!
2020 年的春节是不平凡的。
新型冠状病毒(2019-nCoV)突然降临武汉,随着春运大潮,逐渐扩散到全国各省份。
这让原本应该是热热闹闹的春节,一下子气氛冷到冰点,感觉空气中都带着恐怖的气息。我们国家在疫情面前表现出强大一面,采取封城措施,举国禁足,共同对抗疫情。
经过一个月多的努力,目前疫情在国内算是得到控制。但海外情况却不容乐观,欧洲发达国家,英国、瑞典宣布放弃抵抗新冠病毒。
容许我大声喊一句:中国牛逼!我为自己身为中国人而感到骄傲!
我自己是学技术出身,想利用优势来获取全球疫情的第一手数据。
几经寻觅之后,我发现 GitHub 有个开源项目 COVID-19。这是美国约翰·霍普金斯大学系统科学与工程中心(JHU CSSE)收集各国卫生机构公开 2019 年新型冠状病毒的数据存储项目。
项目是出于教育和学术研究目的而开源,还提供了可视仪表板 Web 界面。不得不说是一个很良心的项目。
截止文章发布前半个小时,我们通过仪表盘数据可知,全球有 18 万人确诊,7155 人死亡,79433 人治愈。
意大利也是重灾区,伊朗、西班牙、韩国、德国、法国等也有超过 6 千人确证。
通 ...
国外大神制作的超棒 Pandas 可视化教程
如果读者们计划学习数据分析、机器学习、或者用 Python 做数据科学的研究,你会经常接触到 Pandas 库。
Pandas 是一个开源、能用于数据操作和分析的 Python 库。
1.加载数据加载数据最方便、最简单的办法是我们能一次性把表格(CSV 文件或者 EXCEL 文件)导入。然后我们能用多种方式对它们进行切片和裁剪。
Pandas 可以说是我们加载数据的完美选择。Pandas 不仅允许我们加载电子表格,而且支持对加载内容进行预处理。
Pandas 有个核心类型叫 DataFrame。DataFrame 是表格型的数据结构。
因此,我们可以将其当做表格。
DataFrame 是以表格类似展示,而且还包含行标签、列标签。另外,每列可以是不同的值类型(数值、字符串、布尔型等)。
我们可以使用 read_csv() 来加载 CSV 文件。
12# 加载音乐流媒体服务的 CSV 文件df = pandas.read_csv('music.csv')
其中变量 DF 是 Pandas 的 DataFrame 类型。
Pandas 同样支持操作 Excel 文 ...
爱自己多一点,对自己健康负责
近期关于身体健康的热点新闻颇多的,前有“网易裁员,让保安把身患绝症的我感触公司。
我在网易亲身经历的噩梦!”,后有“35岁高以翔意外猝死”。
每次看到这样的新闻,都是惊讶和不安,怎么好端端的人突然就没有了。
有个段子说得挺好的,反映出当前社会年轻人的现状。
前程四紧:眉头紧、手头紧、衣服紧、时间紧。
每个人都有自己的理想和人生追求目标,想为自己奋斗一把。
虽说可以热爱工作,可以趁年轻的时候多努力,但也别拿宝贵的生命来交换。
自己所追求的东西,只有健康的身体才能够真正看到。
其实这些道理自己都懂,但我就是做不到!
其实我自己也是这样,我这两年也是晚上经常熬夜,但有次体验让我惊出一身冷汗。
检查报告显示身体一些指标异常,然后自己各种去医院检查。
最后医生一开口就说:小伙子,是不是天天熬夜?熬夜对身体伤害很大,你现在还年轻没什么,等过几年你就知道后果。不要再熬夜了,多运动吧。
这件事确实给我敲响警钟,我告诉自己:人生漫漫,爱自己多一点,自己自己健康负责。
现在自己也调整自己的生活规律,我也希望大家也能像对待自己的朋友一样关心爱护身体。以下是我自己的一些建议:
1.每周进行至少三次合理运动。 ...
利用 Github+Hexo 搭建个人博客网站
我之前写过一篇文章《利用Github+Jeklly搭建个人博客网站》,利用 Github 仓库提供的 github pages 来搭建个人博客。
Jekyll 和 Hexo 可以说是最受欢迎、用户都非常多的两个静态博客生成系统。
本文给大家介绍利用 Hexo 结合 Github pages 来搭建个人网站。
1.什么是 Hexo?Hexo 是一个基于 node.js 制作的快速、简洁且高效的博客框架。
Hexo 可以将我们撰写的 Markdown 文档解析渲染成静态的 HTML 网页。
2.Hexo VS Jeklly2-1.本地环境Jeklly 是由 Ruby 语言编写,需要到官网下载并安装 RubyInstaller。
Hexo 则需要安装 Node.js 环境。
网上经常看到很多人吐槽安装 Jekyll 经常碰到各种问题。
我分别在 Windows 下安装过这两个环境。
整个流程跑下来还是挺顺利的。
2-2.速度说是比较 Hexo 和 Jeklly 这两个框架,其实要比较 Ruby 和 Node.js 的运行速度。
Node.js 是一个 Javascrip t运行环境(Ru ...
利用 Github+Jeklly 搭建个人博客网站
在上篇文章《个人博客如何选型?》中讲到,可以利用 Github Pages 来搭建个人博客网站,本文主要讲解其中的各种细节。
1.评估 Github Pages 方案前面说到几种博客方案,我都玩过,可以说是各有各的特点与优势。
在你考虑选择是否 Github Pages 方案之前,可以先了解其优缺点,然后根据自己情况加一判定。
优点:
完全免费。因为它本质上是一个 Github 仓库,只不过 Github 官方提供网页寄存服务。
简单省心。无须自己购买云服务,也不需要关系环境搭建、系统维护等,我们只需专注写作。
带宽够用。在使用的时候项目和网站的大小不要超过 1GB,也不要过于频繁的更新网站的内容(每小时不超过 10 个版本),每个月的也要注意带宽使用上限为 100GB。这些对于个人网站其实是够用。
缺点:
它是静态网站,无法支持数据库,涉及一些数据存储的操作需要自己找其他解决方案。例如页面浏览的阅读人数统计、点赞数等。
访问速度比较慢。我们的网站是寄托在 Github 网站上,Github 服务器节点是在美国,所以访问速度没有国内主机快。
以上是我对于 Github ...
个人博客如何选型?
当看到别人比自己优秀的时候,有时候会自嘲一句:“同九年,汝何秀”。
别人之所以优秀,自然是有过人的能力。身边有优秀的人,是一件很幸福的事,我们能偷而学之。
但学习也要注重一些学习方法,让学习效率最大化,满脑子死啃有时候会走很多弯路。
我推荐一种非常有用的学习方式,同样我自己也一直在使用,那就是分享。
教别人是最好的学。如果我们无法用自己的语言表述学到的东西,说明我们还没有掌握该知识。
另外,我们教别人的时候,不但能加深印象,还能发现自己的不足之处。
分享的形式有很多,有以文字的形式,比如写作;有以视频的形式,比如短视频,演讲等。相比视频的形式,我更推荐写作的方式。这个也是最适合大多数人的,不需要克服面对镜头的紧张。
1.写作有什么用处?写作能锻炼自己的表述能力。
写作的过程就是表达自己的想法的过程。在这过程中,我们不仅让别人理解自己的想法,也让自己理解自己的想法。
况且,文章写出来和别人能不能看懂是两回事。
就好比我们看网络小说,能一下子看很多章;而看一些经典名著,我们会发现很生涩,有点读不动的感觉。
在要排除书籍的深度、个人阅读能力等因素之外,一般人能更能接受通俗易懂的白话文文章。 ...
Python 创建二维数组的正确姿势
List (列表)是 Python 中最基本的数据结构。
在用法上,它有点类似数组,因为每个列表都有一个下标,下标从 0 开始。
因此,我们可以使用 list[1] 来获取下标对应的值。
如果我们深入下列表的底层原理,会发现列表是基于 PyListObject 实现的。
PyListObject 是一个变长对象,所以列表的长度是随着元素多少动态改变的。
同时它还支持插入和删除等操作,所以它还是一个可变对象。
可以简单理解为,Python 的列表是长度可变的数组。
一般而言,我们用于列表创建都是一维数组。那么问题来,我们如果创建多维数组呢?
1.列表能创建多维数组?列表是支持操作符,如果一个列表与 ‘ * ’ 号结合使用,能达到重复列表的效果。比如
123456789list_one = [0]list_two = [0] * 3print(list_one)print(list_two)>>> 运行结果:[0][0, 0, 0]
那么利用这个重复特性,我们是否可以来创建一个二维数组呢?于是乎,我进行一顿猛操作,结果就被我折腾出来了。
12345678list_on ...
如何将 Pycharm 打造得更称手
截止至 2019 年 9 月,在 PYPL 编程语言榜单上,Python 因近几年受欢迎程不断提高而继续霸榜。
微软开源的 VS Code 编辑器对 Python 支持力度越来越好,近期也推出了 Python 插件,支持了 Jupyter Notebook。
俗话说“萝卜青菜,各有所爱”,各大编辑器都是挺不错的,因每个人的使用习惯不同,也会选择各自的喜欢的编辑器。
在没有 Pycharm 的年代,我看中 Sublime Text2 编辑器的炫酷的个性,将其作为主力生成工具。
后来 JetBrains 推出的 Pycharm IDE 工具,自己也逐渐习惯使用 Pycharm 工具。我
分享下自己 Pycharm 使用小技巧。
1.版本选择?Pycharm 分为 Community (社区版) 和 Professional(专业版),两个版本对比如下:
社区版虽然能免费使用,但是功能比专业版少了一些。
主要少了一些 Web 开发相关组件、数据库支持等。
另外,其中的 Scientific tools 功能,其实是 Pycharm 里面预装了Matplotlib 和 NumPy 这两个 ...