标签归档:Python

支持upload文件的SimpleHTTPServer

作为 Python2 的标准库,SimpleHTTPServer 可以很方便的提供一个简单的页面服务器,很多文章已经进行了介绍。其默认的功能很简单——当前路径下如果有 index.html 或者 index.htm 文件,则直接解析显示;如果没有,则列出当前目录下的文件和文件夹目录。这个模块已知被我当做分享文件很快捷同时逼格又很高的方式,不过一直的问题就是,无法上传!于是耗费半个下午给它增加了上传文件的功能。下文是记录自己的处理问题的过程,最后对 SimpleHTTPServer 里的函数进行了简单介绍,不想看废话的可以直接去 gist 上获得文件源码:gist 地址

注:Python3版本中,SimpleHTTPServer 更名为 http.server,官方链接声明

The SimpleHTTPServer module has been merged into http.server in Python 3. The 2to3 tool will automatically adapt imports when converting your sources to Python 3.

继续阅读

新浪微博 PythonSDK 分析

最初想爬新浪微博,从开发文档中找到了 Python 的 SDK,竟然是廖雪峰写的。链接直接指向它的 Github 仓库,看了看代码不长,于是就认真研读一下,一来学习 Python 的使用,二来也就知道新浪微博 API 的使用方法了。奈何懒癌又犯了,拖了很久没写这篇总结,竟然在某次搜索时发现了作者自己写的创建 SDK 的步骤,加深了自己的理解,就赶紧来开动写总结了。 继续阅读

[翻译]Web Scraping 201: finding the API

前言:之前,在帮同学获取百度城市百科内容时,每个城市页面下的内容是通过 js 动态生成的(Ajax?),不能直接通过爬取页面解析得到。最终通过浏览器查看网络请求,找到了请求地址和具体参数含义。整理收藏夹的时候,发现有这么一篇文章,鉴于Blog 已经长草,决定翻译一下留做以后备查吧。

有很多网站的 API 确实可以通过这样的方式获得,但是另一些网站(如 twitter、weibo),它们的 API 是有很多的限制,并且需要进行申请的。相比之下,如果能查到 API 的开发文档,则应当以开发文档为主。当然,本文通过审查工具来分析页面的加载流程,进而找到一些需要的内容还是很有必要的。

源地址:http://www.gregreda.com/2015/02/15/web-scraping-finding-the-api/ 继续阅读

Python中的else

很久不写代码,果然一上手就容易犯一些低级的错误。在写上一篇博客程序之后,开始做写一些异常处理的代码(毕竟网络连不上啦,页面不存在啦很常见),竟然写错了else的用法。顺手查了Python官方文档,发现相比其他语言,Python的 else 除了用在 if 里,还有 try、for、while等语言块里 继续阅读

爬取百度城市百科 by Python

同学拿到老师给布置的一个任务:

全国各地市的风俗习惯。具体到某个省的某个市。尽量用自动查询手段搜索百度百科,获取全国所有地市的简介和饮食、风俗习惯等。生成一张excel表格

感觉上像是要做一个爬虫,最后这个生成 excel 表格真的是无力吐槽了。。。之前虽然自己看过一些爬虫的教程文章,但是感觉这个事更多的时间是分析网页,解析 HTML ,然后将数据可视化的显示出来,于是一直没有动力去爬一个什么东西。这不,动力来了。

注:一不小心把这篇写成了记事文,而不像是个技术分享。。。 继续阅读

使用 PCA 进行降维处理——基于 sklearn 库

在最初阅读《数据挖掘:概念与技术》的时候,第一次注意到了这个词汇:PCA(Principal component analysis),主成分分析。最初对这部分内容并没有深入的了解,直到最近项目拿到数据开始分析了,才开始认真学习这部分内容。具体的原理,可以继续阅读参考链接中的内容,总结来说,PCA 就是通过寻找高维空间中,数据变化最快(方差最大)的方向,对空间的基进行变换,然后选取重要的空间基来对数据降维,以尽可能的保持数据特征的情况下对数据进行降维。

继续阅读