资讯专栏INFORMATION COLUMN

营造一个好的编码心情-python抓取mac精美壁纸

smartlion / 1442人阅读

摘要:如图,一个好的工作环境,可以让心情好不少抓取的是爱壁纸的资源,它们最多只提供页一个类别,但是一页有张。我这里只筛选了种类别,看你需要了。话不多说,直接上代码吧创建日志对象地址在库中已存在插入记录图片已存在存入图片

如图,一个好的工作环境,可以让心情好不少


抓取的是爱壁纸的资源,它们最多只提供20页一个类别,但是一页有60张。
总共有11个类别,就是有20x60x11张。我这里只筛选了2种类别,看你需要了。

话不多说,直接上代码吧

# coding=utf-8
from pymongo import MongoClient
import requests
import logging
import uniout
import json
import logger
import threading
import time
import sys
import os
创建 日志 对象
logger = logging.getLogger()
handler = logging.StreamHandler()
formatter = logging.Formatter(
    "%(asctime)s %(name)-12s %(levelname)-8s %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)

# mongodb
mongoconn = MongoClient("127.0.0.1", 27017)
mdb = mongoconn.data_analysis
das_collection = mdb.bizhi

#
categories = {
    "moviestar": 1,
    "landscape": 2,
    "beauty": 3,
    "plant": 4,
    "animal": 5,
    "game": 6,
    "cartoon": 7,
    "festival": 8,
    "car": 798,
    "food": 1546,
    "sport": 1554
};

# pic path
pic_path = "/Library/Desktop Pictures/"


def scrapy_it(page, tid, width=2560, height=1600):
    # 地址
    start_url = """http://api.lovebizhi.com/macos_v4.php?a=category&tid=%d&
    device=105&uuid=436e4ddc389027ba3aef863a27f6e6f9&mode=0&retina=1&
    client_id=1008&device_id=31547324&model_id=105&size_id=0&channel_id=
    70001&screen_width=%d&screen_height=%d&version_code=19&order=newest&color_id=3&p=%d""" % (
        tid, width, height, page)
    print start_url
    res = requests.get(start_url)
    content = res.json()
    return content


def getFilename(url):
    url_split = url.split("/")
    name = url_split[len(url_split) - 1]
    name_split = name.split(",")
    ext_split = name.split(".")
    ext = ext_split[1]
    return name_split[0] + "." + ext


def store_it(follow):
    if das_collection.find_one({"id": follow["id"]}):
        logging.debug(u"%s在库中已存在" % follow["id"])
    else:
        print type(follow["id"])
        logging.debug("插入记录:%s" % follow["id"])
        das_collection.insert_one(follow)


def download_it(link, filename):
    if os.path.exists(filename):
        logging.info(u"图片%s已存在" % filename)
        return False
    res = requests.get(link)
    with open(filename, "wb") as f:
        f.write(res.content)
    logging.info(u"存入图片%s" % filename)


if __name__ == "__main__":

    tids = [categories["landscape"], categories["plant"]]
    for tid in tids:
        for p in range(1, 21):
            res = scrapy_it(p, tid)
            data_list = res["data"]
            for data in data_list:
                if "vip_original" in data["image"]:
                    img_url = data["image"]["vip_original"]
                else:
                    img_url = data["image"]["original"]
                filename = pic_path + getFilename(img_url)
                download_it(img_url, filename)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43416.html

相关文章

  • 首次公开,整理12年积累的博客收藏夹,零距离展示《收藏夹吃灰》系列博客

    摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...

    Harriet666 评论0 收藏0
  • 70行python代码实现壁纸批量下载

    摘要:整理一下,完整的函数长这样批量运行上述的步骤仅仅能够下载第一个壁纸列表页的第一张壁纸。 项目地址:https://github.com/jrainlau/w... 前言 好久没有写文章了,因为最近都在适应新的岗位,以及利用闲暇时间学习python。这篇文章是最近的一个python学习阶段性总结,开发了一个爬虫批量下载某壁纸网站的高清壁纸。 注意:本文所属项目仅用于python学习,严禁...

    draveness 评论0 收藏0
  • 极客爱情: 情人节礼物大作战

    摘要:故而总结如下编成的代码浪漫的环境亲手制作的礼物注意请将下面的程序员的情人节礼物换成语言。言归正传程序员的情人节礼物入门之材料构思情人节礼物之设备展示想着在这个移动盛行的时代,再用电脑就不太合适了。 是时候应该反击了 当我看到@鄢得諼草 的那几篇黑我黑到体无完肤的#极客爱情# @Phodal 故事的时候,我发现我竟无言以对。或许,作为一名程序员,我们或多或少都有这样的共性。 ...

    XGBCCC 评论0 收藏0
  • Python 抓取网页乱码原因分析

    摘要:在用抓取网页的时候,经常会遇到抓下来的内容显示出来是乱码。发生这种情况的最大可能性就是编码问题运行环境的字符编码和网页的字符编码不一致。比如,在的控制台里抓取了一个编码的网站。 在用 python2 抓取网页的时候,经常会遇到抓下来的内容显示出来是乱码。 发生这种情况的最大可能性就是编码问题: 运行环境的字符编码和网页的字符编码不一致。 比如,在 windows 的控制台(gbk)里抓...

    asce1885 评论0 收藏0

发表评论

0条评论

smartlion

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<