Python 初探 leancloud

0x01 前言

很久没有写 Python 了,自己阿里云的服务器也忘记续费而被释放。当初用的东西有点重,Ubuntu 下定时任务执行一个 Python 爬虫,将爬取到的数据写入 MySQL ,接口是 Java 那一套 tomcat 。

所以准备写个系列,从简单的使用 leancloud 的存储到 leancloud 的云引擎。

0x02 准备

安装 virtualenv

使用 virtualenv 可以创建一个与系统隔离的 Python 环境,在其中安装的第三方模块版本不会与系统自带的或者其他项目中的模块冲突。

安装 virtualenv > pip install virtualenv

创建虚拟并激活虚拟环境
cd yourProject
virtualenv ENV(自取)
source bin/activate

命令行上出现 (ENV) 表示是在当前虚拟环境下

使用 deactivate 可以退出虚拟环境

安装 leancloud-sdk
pip install leancloud-sdk

0x03 数据存储

初始化 leancloud
import leancloud
from leancloud import Object
leancloud.init('id', 'key')

id 和 key 在 项目 > 设置 >应用 Key 中查看。

存储数据
class GirlImage(Object):
    @property
    def src(self):
        # 可以使用property装饰器,方便获取属性
        return self.get('src')

    @src.setter
    def src(self, value):
        # 同样的,可以给对象的score增加setter
        return self.set('src', value)


girl_image = GirlImage()
girl_image.set('src',"地址")
girl_image.save()

执行完之后,你会在项目存储>数据下看到已经新建好了 GirlImage 这个表并且保存了一条src = 地址 的数据。

爬取存储
def http():
    page = 1
    url = 'http://www.dbmeinv.com/dbgroup/current.htm?gid=haixiuzu&pager_offset=' + str(page)
    headers = {'content-type': 'text/html;charset=UTF-8',
               'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.87 Safari/537.36 QQBrowser/9.2.4907.400'}
    content = requests.post(url, headers).text
    images_codes = re.findall('<img class="height_min" .+? src="(.*?)"', content, re.S)

    # print images_codes
    for url in images_codes:
        girl_image = GirlImage()
        girl_image.set("src", url)
        girl_image.save()

一个简单的小爬虫,爬了该网站一页图片,20条存入 leancloud 。

查询

query = Query(GirlImage)  # 这里也可以直接传递一个 Class 名字的字符串作为构造参数
query.select('src')
reslut = query.find()

for i in reslut:
    print(i.get('src'))

0x04

初探就先这样结束了,我这里只是运用了很简单的功能。

不过爬取>存储>查询,都写全了。

后期我会再探 leancloud 写增量爬取加 leancloud 的云引擎。

更多请参考

leancloud 对象操作

leancloud 查询操作

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,573评论 6 427
  • GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-p...
    若与阅读 18,752评论 4 418
  • 环境管理管理Python版本和环境的工具。p–非常简单的交互式python版本管理工具。pyenv–简单的Pyth...
    MrHamster阅读 3,850评论 1 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,388评论 25 708
  • 荨麻疹——疾病的隐喻 回家的当天就患上了荨麻疹。医生说是被虫子要的。 无奈。 这也许是一种隐喻,我的故乡已经不合适...
    汝婴阅读 216评论 0 0