twitter一位朋友提到想抓取新浪娱乐http://slide.ent.sina.com.cn的高清图片,省得一张张去翻看。
首先分析这个需求可不可以完成,打开网页源代码,哇,原来所有图片地址在第一页就能看到,而且图片地址出现的很有规律,这就很容易搞定了。
前一阵看过一个Python的类库叫做beautifulsoap,它可以完成解析html的工作,加上appengine的支持,简单到爆。
1,先下载python以及google appengine,如果没有appengine账号申请一个即可,如果不清楚google一下都能找到。
2,下载beautifulsoap,解压BeautifulSoup.py到你项目目录里面就可以了。
3,在app.yaml里面加入,这样就把soap这个网址定向到img.ly了:
– url: /soap/.*
script: img.py
secure: optional
4,建立img.py,main函数部分使用google的webapp框架,关联到SoapLink类:
5,建立SoapLinks类,可以参考appengine的文档:
其中要注意的是beautifulsoap解析出来的是一个Tag对象(而不是String),所以要用ccontents[0]来获得string,这个花了我一些时间。
然后就可以部署服务了,具体可参考appengine或者留言问我。
demo:http://ucfcuk.appspot.com/soaplinks/ 加上你要访问的新浪娱乐地址
《“appengine建立自己的web service抓取新浪图片”》 有 1 条评论
谢谢兄弟帮老鱼解决这个难题