6 May

记录一次爬取淘宝/天猫评论数据的过程

笔者最近迷上了数据挖掘和机器学习,要做数据分析首先得有数据才行。对于我等平民来说,最廉价的获取数据的方法,应该是用爬虫在网络上爬取数据了。本文记录一下笔者爬取天猫某商品的全过程,淘宝上面的店铺也是类似的做法,不赘述。主要是分析页面以及用Python实现简单方便的抓取。

笔者使用的工具如下

Python 3——极其方便的编程语言。选择3.x的版本是因为3.x对中文处理更加友好。

Pandas——Python的一个附加库,用于数据整理。

IE 11——分析页面请求过程(其他类似的流量监控工具亦可)。

剩下的还有requests,re,这些都是Python自带的库。

实例页面(美的某热水器):http://detail.tmall.com/item.htm?id=41464129793

点击阅读全文...

30 Aug

封闭曲线所围成的面积:一个新技巧

本文主要做了一个尝试,尝试不通过Green公式而实现将封闭曲线的面积与线积分相互转换。这种转换的思路,因为仅仅利用了二重积分的积分变换,较为容易理解,而且易于推广。至于这种技巧是否真正具有实际价值,还请读者评论。

假设平面上一条简单封闭曲线由以下参数方程给出:
$$\begin{equation}\left\{\begin{aligned}x = f(t)\\y = g(t)\end{aligned}\right.\end{equation}$$
其中参数$t$位于某个区间$[a,b]$上,即$f(a)=f(b),g(a)=g(b)$。现在的问题是,求该封闭曲线围成的区域的面积。

点击阅读全文...

28 Oct

朋友们,来瓶汽水吧!有趣的换汽水问题

————怀念我曾经参加过的小学数学竞赛。

从一道小学竞赛题谈起

笔者小学五年级时参加了第一次数学竞赛,叫“育苗杯”,大多数题目都记不清楚了,唯一记得很清楚的是如下这道题目(不完全相同,意思类似):

假设汽水一块钱一瓶,而且4个空瓶子可以换一瓶汽水喝。如果我有30块钱,我最多可以喝到多少瓶汽水?

来瓶汽水吧

来瓶汽水吧

当然,上面的情况可能太理想了,但是必须承认,类似的案例在生活中大量存在。比如买草龟吃时,草龟壳由于可以入药,所以有人回收龟壳,这也意味着若干个龟壳就可以换一只龟,等等。读者能不能很快就算出来呢?

当然,这道题并不困难,30块钱能买30瓶汽水,然后留下30个空瓶子,这30个空瓶子可以换来7瓶汽水,剩下2个空瓶子;喝完汽水后,剩下9个空瓶子,可以换来2瓶汽水,剩下1个空瓶子;喝完汽水后,剩下3个空瓶子。算算看,这时候我们已经喝了30+7+2=39瓶汽水了。(不考虑撑着啊,也可以分给别人喝^_^)整个过程如下表:
$$\begin{array}{c|cccc}
\hline
\text{空瓶子数} & 30 & 2+7 & 1+2 & ? \\
\hline
\text{已喝汽水数} & 30 & 7 & 2 & ? \\
\hline \end{array}$$

点击阅读全文...

3 Aug

运动相机测试:家乡的星空

记得很早之前就想尝试一下拍星空,无奈一直都没有设备。以前只知道单反可以拍星空,因此,一直以来的想法就是有钱了就去买台单反。因为各种原因一拖再拖,最后慢慢觉得,对于我这种三分钟热度的人来说,单反的意义还真的不是很大。

这两年,在小米的鼓吹下,小蚁运动相机在国内算是慢慢掀起了一股运动相机潮。这种相机的特点是小巧、灵活,价格也不贵(相比单反)。灵活不仅仅是说它便于携带,而且还是功能上的灵活,比如一代小蚁还支持编程拍摄!(写程序控制快门、ISO、拍摄间隔,并实现定时拍摄等)这样当然很快就吸引了我,在小蚁2代众筹之时,我也咬咬牙,入了一台。

前两天回到家,刚好晴夜,马上就试了一下拍星空的效果。下面是在我家楼顶拍的,用ISO400曝光30秒的效果:

家乡的星空

家乡的星空

点击阅读全文...

20 Jan

简单的迅雷VIP账号获取器(Python)

在Windows工作的时候,经常会用迅雷下载东西,如果速度慢或者没资源,尤其是一些比较冷门的视频,迅雷的VIP会员服务总能够帮上大忙。后来无意间发现了有个“迅雷VIP账号获取器”的软件,可以获取一些临时的VIP账号供使用,这可是个好东西,因为开通迅雷会员虽然不贵,但是我又不经常下载,所以老感觉有点浪费,而有了这个之后,我随时下点东西都可以免费用了。

简单的迅雷VIP账号获取器

简单的迅雷VIP账号获取器

最近转移到了Mac上,而Mac也有迅雷,但那个账号获取器是exe的,不能在Mac运行。本以为获取器的构造会很复杂,谁知道,经过抓包研究,发现那个账号获取器的原理极其简单,说白了,就是一个简单的爬虫,以下这两个网站提供账号,它就到相应的抓取账号而已:

http://yunbo.xinjipin.com/
http://www.fenxs.com

据此,我也用Python简单写了一个,主要是方便我在Mac使用。读者如果有需要,也可以下载使用,代码兼容2.x和3.x的版本。主要的库是requests和re,pandas和sys的使用只不过是为了更加人性化。本来想用Tkinter写一个简单的GUI的,但是想想看,还是没必要了~~

点击阅读全文...

24 Dec

修改了一下公式的显示方式(移动端)

移动端

移动端

由于Li xiaobo读者再次反映了本站的公式在移动端的支持不佳问题,笔者对网站的公式显示做了一些修改。如果读者是用电脑浏览的话,那应该感觉不到网站的变化,但是如果是手机端浏览的话,那么应该会发现,原来是由MathJax解析的公式,变成了图片形式的公式。

没错,这是一个很折衷的解决办法,判断客户端,如果是移动端,就是用图片公式的显示方法,图片公式在移动端暂时没有发现错误(请大家测试。)这种方式有一些弊端,比如图片形式的公式并不是那么好看,而且,公式中的中文无法显示。

公式调用了http://latex.codecogs.com/gif.latex,在这里表示感谢。欢迎大家测试,反馈问题:http://bbs.spaces.ac.cn/topic/show/9

28 Dec

【分享】兴隆山的双子座流星雨

记得科学空间刚开始的时候,没有什么原创的内容,有一段时间在翻译APOD的图片,后来渐渐地专注原创,就没有翻译了。这次再来分享一张图片,是兴隆山上的双子座流星雨,是国内爱好者Steed Yu拍摄的,被APOD收录。

兴隆山的双子座流星雨(来源:http://apod.nasa.gov/apod/ap151223.html)

兴隆山的双子座流星雨(来源:http://apod.nasa.gov/apod/ap151223.html)

点击阅读全文...

20 Feb

熵的形象来源与熵的妙用

在拙作《“熵”不起:从熵、最大熵原理到最大熵模型(一)》中,笔者从比较“专业”的角度引出了熵,并对熵做了诠释。当然,熵作为不确定性的度量,应该具有更通俗、更形象的来源,本文就是试图补充这一部分,并由此给出一些妙用。

熵的形象来源

我们考虑由0-9这十个数字组成的自然数,如果要求小于10000的话,那么很自然有10000个,如果我们说“某个小于10000的自然数”,那么0~9999都有可能出现,那么10000便是这件事的不确定性的一个度量。类似地,考虑$n$个不同元素(可重复使用)组成的长度为$m$的序列,那么这个序列有$n^m$种情况,这时$n^m$也是这件事情的不确定性的度量。

$n^m$是指数形式的,数字可能异常地大,因此我们取了对数,得到$m\log n$,这也可以作为不确定性的度量,它跟我们原来熵的定义是一致的。因为
$$m\log n=-\sum_{i=1}^{n^m} \frac{1}{n^m}\log \frac{1}{n^m}$$

读者可能会疑惑,$n^m$和$m\log n$都算是不确定性的度量,那么究竟是什么原因决定了我们用$m\log n$而不是用$n^m$呢?答案是可加性。取对数后的度量具有可加性,方便我们运算。当然,可加性只是便利的要求,并不是必然的。如果使用$n^m$形式,那么就相应地具有可乘性。

点击阅读全文...