Tumblr整站图片下载

前言

前几天闲着无聊没事(其实是一大堆事摆在面前作死不愿意做)把Python的入门教程又看了一遍,感觉这样做好没有效率啊,遂想拿个东西练练手。Python做好的练手项目就是爬虫了(我也不知道从哪里看到的,反正就有这么一说),正好前两天看了Tumblr的一个图片博客,然后网速渣到爆表,遂想干脆给整站图片都抓下来好了。

说干就干篇

基本的思路非常简单啦,无非就是把页面抓下来然后解析里面的IMG标签得到图片地址最后下载下来就好叻。感谢Tumblr没有对IP访问频率进行限制让我少做了不少工作,ありがとう~

首先要说明Python版本啦,我的版本是Python3.4.1,对2.x不兼容。不过索性代码也非常的简单,无非就是urllib库的问题,稍加修改也是可以转换过去的,这个我就不多表述啦。另外就是我的代码是以http://triketora.tumblr.com/这个博客为基准的,因为每个博客的DOM标签可能都不太一样,所以没法做到代码通用,需要根据博客的主题做相应的修改。

页面的抓取我是直接用的urllib.request库,简单粗暴而且非常有效。页面DOM的解析我使用的当然是大名鼎鼎的BeautifulSoup了。至于BeautifulSoup的安装同样不多做表述,其中文文档可参见Beautiful Soup 4.2.0 文档。至于最后一步的图片下载我使用的是urllib.request.urlretrieve函数,这函数简直就是爬虫利器啊有么有,简单快捷高效的就把图片给抓取下来了,简直好顶赞!

阅读全文

如何上传文件到GAE

GAE就不用我向大家解释了吧,引用维基的介绍:
Google App Engine是一个开发、托管网络应用程序的平台,使用Google管理的数据中心。它在2008年4月发布了第一个beta版本。 Google App Engine使用了云计算技术。它跨越多个服务器和数据中心来虚拟化应用程序。[1] 其他基于云的平台还有Amazon Web Services和微软的Azure服务平台等。 Google App Engine在用户使用一定的资源时是免费的。支付额外的费用可以获得应用程序所需的更多的存储空间、带宽或是CPU负载。[2] 支持的编程语言和框架 当前,Google App Engine支持的编程语言是Python和Java(通过扩展,可以支持其他JVM语言,诸如Groovy、JRuby、Scala和Clojure)。支持Django、WebOb、PyYAML的有限版本。Google说它准备在未来支持更多的语言,Google App Engine也将会独立于某种语言。任何支持WSGI的使用CGI的 Python框架可以被使用。框架可以与开发出的应用程序一同上传,也可以上传使用Python编写的第三方库。[3][4] 更多介绍请转至: WikiPedia.Org
好了,废话少说,这里以Python为例子进行图解,首先我们要下载Python这个语言程序包,由于官方网站已经被GFW了,所以这里直接放上Python的FTP下载地址:http://www.python.org/ftp/python/2.5.1/python-2.5.1.msi 大家也可以点击这里自己选择版本进行下载。 PS:我就奇怪了,堂堂的一门计算机语言的官方网站,你GFW没事去屏蔽人家干什么?! 下载安装好后,我们还需要另外一个工具,那就是GoogleAppEngine For Python,下载地址是:传送门 如果你还没有Gmail账户的话,请到相关页面申请一个Gmail账户,如果你已经有了Gmail账户,但是没有GoogleAppEngine的话,请参见教你如何申请GAE这篇文章。 好了,准备工作都做好了,那么第一步,你要在GAE新建一个Application,如图1-2所示
image

image

现在以假设你创建了一个ID号为imnerd的应用为例讲解如何上传程序到GAE空间,这里所用的程序是Python版类WordPress Micolog程序,由国人开发的一款强大的程序,可导入WordPress的XML文件等等……这是最新版0.7Beta2的下载地址:http://code.google.com/p/micolog/downloads/list 要提醒的是,仅仅这样还是没有用的,Python还是不能运行,必须将Python的安装目录添加到环境变量中,具体的做法是右键单击我的电脑(或者是计算机)选择属性,然后选择高级(Win7/Vista选择高级系统设置),再选择环境变量,在系统变量的变量里面,找到PATH变量,然后双击PATH变量的值,在后面添加“;C:\Python25”(不包括引号!),C:\Python25是你的Python安装地址,如果有所差异请自行做相应修改!然后点击确定~ 下面我们要对Micolog程序进行相应的修改,首先我们要打开app.yaml,用记事本或者写字板程序都成。将第一行的application后面的值改成你申请的空间ID,本文为imnerd!就是图一要填入的Identifies。然后由于程序本身的原因,我们要删除掉index.yaml才能正常的运行程序。 然后我们单击开始,点击运行,输入cmd(Win7直接在搜索框中输入cmd并回车即可)运行DOS窗口,输入“appcfg.py update C:/users/michael/desktop/micolog”后面这个路径是你的micolog程序的路径,这里以桌面的micolog文件夹为例,请根据情况对其修改 然后DOS窗口会自动运行,途中会让你输入mail和password的,所要要注意了!而且password输入的时候是没有显示的,星号也没有,所以你只管输,输完点回车就成!
image
好了,这样文件已经上传完了啦,浏览器输入http://imnerd.appspot.com观看一下吧,哈哈!(imnerd为ID号,请做相应修改!)