摘要:如圖,一個好的工作環境,可以讓心情好不少抓取的是愛壁紙的資源,它們最多只提供頁一個類別,但是一頁有張。我這里只篩選了種類別,看你需要了。話不多說,直接上代碼吧創建日志對象地址在庫中已存在插入記錄圖片已存在存入圖片
如圖,一個好的工作環境,可以讓心情好不少
抓取的是愛壁紙的資源,它們最多只提供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)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43416.html
摘要:時間永遠都過得那么快,一晃從年注冊,到現在已經過去了年那些被我藏在收藏夾吃灰的文章,已經太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設置私密了,不收拾不好看呀。 ...
摘要:整理一下,完整的函數長這樣批量運行上述的步驟僅僅能夠下載第一個壁紙列表頁的第一張壁紙。 項目地址:https://github.com/jrainlau/w... 前言 好久沒有寫文章了,因為最近都在適應新的崗位,以及利用閑暇時間學習python。這篇文章是最近的一個python學習階段性總結,開發了一個爬蟲批量下載某壁紙網站的高清壁紙。 注意:本文所屬項目僅用于python學習,嚴禁...
摘要:故而總結如下編成的代碼浪漫的環境親手制作的禮物注意請將下面的程序員的情人節禮物換成語言。言歸正傳程序員的情人節禮物入門之材料構思情人節禮物之設備展示想著在這個移動盛行的時代,再用電腦就不太合適了。 是時候應該反擊了 當我看到@鄢得諼草 的那幾篇黑我黑到體無完膚的#極客愛情# @Phodal 故事的時候,我發現我竟無言以對。或許,作為一名程序員,我們或多或少都有這樣的共性。 ...
摘要:在用抓取網頁的時候,經常會遇到抓下來的內容顯示出來是亂碼。發生這種情況的最大可能性就是編碼問題運行環境的字符編碼和網頁的字符編碼不一致。比如,在的控制臺里抓取了一個編碼的網站。 在用 python2 抓取網頁的時候,經常會遇到抓下來的內容顯示出來是亂碼。 發生這種情況的最大可能性就是編碼問題: 運行環境的字符編碼和網頁的字符編碼不一致。 比如,在 windows 的控制臺(gbk)里抓...
閱讀 3005·2021-10-12 10:12
閱讀 3052·2021-09-22 16:04
閱讀 3287·2019-08-30 15:54
閱讀 2602·2019-08-29 16:59
閱讀 2902·2019-08-29 16:08
閱讀 868·2019-08-29 11:20
閱讀 3492·2019-08-28 18:08
閱讀 648·2019-08-26 13:43