摘要:如图,一个好的工作环境,可以让心情好不少抓取的是爱壁纸的资源,它们最多只提供页一个类别,但是一页有张。我这里只筛选了种类别,看你需要了。话不多说,直接上代码吧创建日志对象地址在库中已存在插入记录图片已存在存入图片
如图,一个好的工作环境,可以让心情好不少
抓取的是爱壁纸的资源,它们最多只提供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
摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...
摘要:整理一下,完整的函数长这样批量运行上述的步骤仅仅能够下载第一个壁纸列表页的第一张壁纸。 项目地址:https://github.com/jrainlau/w... 前言 好久没有写文章了,因为最近都在适应新的岗位,以及利用闲暇时间学习python。这篇文章是最近的一个python学习阶段性总结,开发了一个爬虫批量下载某壁纸网站的高清壁纸。 注意:本文所属项目仅用于python学习,严禁...
摘要:故而总结如下编成的代码浪漫的环境亲手制作的礼物注意请将下面的程序员的情人节礼物换成语言。言归正传程序员的情人节礼物入门之材料构思情人节礼物之设备展示想着在这个移动盛行的时代,再用电脑就不太合适了。 是时候应该反击了 当我看到@鄢得諼草 的那几篇黑我黑到体无完肤的#极客爱情# @Phodal 故事的时候,我发现我竟无言以对。或许,作为一名程序员,我们或多或少都有这样的共性。 ...
摘要:在用抓取网页的时候,经常会遇到抓下来的内容显示出来是乱码。发生这种情况的最大可能性就是编码问题运行环境的字符编码和网页的字符编码不一致。比如,在的控制台里抓取了一个编码的网站。 在用 python2 抓取网页的时候,经常会遇到抓下来的内容显示出来是乱码。 发生这种情况的最大可能性就是编码问题: 运行环境的字符编码和网页的字符编码不一致。 比如,在 windows 的控制台(gbk)里抓...
阅读 2969·2021-10-12 10:12
阅读 2999·2021-09-22 16:04
阅读 3261·2019-08-30 15:54
阅读 2567·2019-08-29 16:59
阅读 2820·2019-08-29 16:08
阅读 829·2019-08-29 11:20
阅读 3462·2019-08-28 18:08
阅读 608·2019-08-26 13:43