国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

用Python保住“設計大哥“的頭發,直接甩給他10000張參考圖,爬蟲采集【稿定設計】平面模板素材

iliyaku / 1166人閱讀

摘要:最近稿定設計這個站點挺火,設計組的大哥一直在提,啊,這個好,這個好。目的是給設計組大哥提供素材參考,畢竟做設計的可不能抄襲哦思路枯竭的時候,借鑒一下還湊合。看了一眼設計大哥的頭發,我覺得夠他用一年了。

最近【稿定設計】這個站點挺火,設計組的大哥一直在提,啊,這個好,這個好。

機智的我,思考了一下,決定給他采集一些公開素材,以后跟設計對線的時候,肯定要賣個人情。

目標站點分析

本次要采集的站點是:https://sucai.gaoding.com/plane/materials,高清圖肯定不能采集啦,僅采集 1080 P 的縮略圖。

目的是給設計組大哥提供素材參考,畢竟做設計的可不能抄襲哦(思路枯竭的時候,借鑒一下還湊合)。

目標站點的篩選項非常“貼心”的提供“全部”這一選項,省的我們拼湊分類了。


在查閱分頁的時候,發現稿定設計網站僅開放了 100 頁數據,每頁 100 條,也就是咱只能獲取到 10000 張圖片。

看了一眼設計大哥的頭發,我覺得夠他用一年了。

頁面 URL 跳轉鏈接規則如下:

https://sucai.gaoding.com/plane/materials?p=1https://sucai.gaoding.com/plane/materials?p=100

但是數據的請求鏈接為下述規則:

https://api-sucai.gaoding.com/api/search-api/sucai/templates/search?q=&sort=&colors=&styles=&filter_id=1617130&page_size=100&page_num=1https://api-sucai.gaoding.com/api/search-api/sucai/templates/search?q=&sort=&colors=&styles=&filter_id=1617130&page_size=100&page_num=2

參數說明

  1. q:搜索的關鍵字,為空即可;
  2. sort:排序規則,可空;
  3. colorsstyles:顏色和風格, 保持空;
  4. filter_id:過濾 ID,保持全部應該是 1617130
  5. page_size:獲取的每頁數據量;
  6. page_num:頁碼,該值最大為 100。

有了上述分析之后,就可以進行編碼工作了。

編碼時間

在正式編碼前,先通過一張圖整理邏輯,該案例依舊為生產者與消費者模式爬蟲,采用 threading 模塊queue 隊列模塊實現。


理解上圖之后,就可以編寫下述代碼了,重點部分在注釋中體現,本次采用類寫法,學習的時候需要特別注意一下。

import requestsfrom queue import Queueimport randomimport threadingimport timedef get_headers():    user_agent_list = [        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"        "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",        "其它UA,自行查找即可"    ]    UserAgent = random.choice(user_agent_list)    headers = {"User-Agent": UserAgent,"referer": "https://sucai.gaoding.com/"}    return headers# 生產者線程class Producer(threading.Thread):    def __init__(self, t_name, queue):        threading.Thread.__init__(self, name=t_name)        self.data = queue 	# 測試爬取 3 頁,實際采集的時候,可以放大到100頁    def run(self):        # 測試數據,爬取3頁        for i in range(1,3):            print("線程名: %s,序號:%d, 正在向隊列寫入數據 " % (self.getName(), i))            # 拼接URL地址            url = "https://api-sucai.gaoding.com/api/search-api/sucai/templates/search?q=&sort=&colors=&styles=&filter_id=1617130&page_size=100&page_num={}".format(i)            res = requests.get(url=url,headers=get_headers(),timeout=5)            # 這里可以增加 try catch 驗證,防止報錯            if res:                data = res.json()                # JSON 提取數據                for item in data:                    title = item["title"]                    img_url = item["preview"]["url"]                    self.data.put((title,img_url))        print("%s: %s 寫入完成!" % (time.ctime(), self.getName()))# 消費者線程class Consumer(threading.Thread):    def __init__(self, t_name, queue):        threading.Thread.__init__(self, name=t_name)        self.data = queue    def run(self):        while True:        	# 從隊列獲取數據            val = self.data.get()            if val is not None:                print("線程名:%s,正在讀取數據:%s" % (self.getName(), val))                title,url = val                # 請求圖片                res = requests.get(url=url,headers=get_headers(),timeout=5)                if res:                	# 保存圖片                    with open(f"./imgs/{title}.png","wb") as f:                        f.write(res.content)                        print(f"{val}","寫入完畢")# 主函數def main():    queue = Queue()    producer = Producer("生產者", queue)    consumer = Consumer("消費者", queue)    producer.start()    consumer.start()    producer.join()    consumer.join()    print("所有線程執行完畢")if __name__ == "__main__":    main()

生產者線程用于產生圖片地址,存放到隊列 queue 中,消費者線程通過一個“死循環”不斷從隊列中,獲取圖片地址,然后進行下載。

代碼運行效果如下圖所示:

收藏時間

代碼倉庫地址:https://codechina.csdn.net/hihell/python120,去給個關注或者 Star 吧。

你需要的 10000 張設計參考圖下載地址

  1. 第一部分參考圖下載地址,接近 1G
  2. 第二部分參考圖下載地址,接近 1G
  3. 第三部分參考圖下載地址,接近 1G
  4. 第四部分參考圖下載地址,接近 1G

數據沒有采集完畢,想要的可以在評論區留言交流

今天是持續寫作的第 211 / 365 天。
可以關注我,點贊我、評論我、收藏我啦。

更多精彩

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/119316.html

相關文章

  • 關于Python爬蟲種類、法律、輪子一二三

    摘要:一般用進程池維護,的設為數量。多線程爬蟲多線程版本可以在單進程下進行異步采集,但線程間的切換開銷也會隨著線程數的增大而增大。異步協程爬蟲引入了異步協程語法。 Welcome to the D-age 對于網絡上的公開數據,理論上只要由服務端發送到前端都可以由爬蟲獲取到。但是Data-age時代的到來,數據是新的黃金,毫不夸張的說,數據是未來的一切。基于統計學數學模型的各種人工智能的出現...

    lscho 評論0 收藏0
  • SegmentFault 技術周刊 Vol.30 - 學習 Python 來做一些神奇好玩事情吧

    摘要:學習筆記七數學形態學關注的是圖像中的形狀,它提供了一些方法用于檢測形狀和改變形狀。學習筆記十一尺度不變特征變換,簡稱是圖像局部特征提取的現代方法基于區域圖像塊的分析。本文的目的是簡明扼要地說明的編碼機制,并給出一些建議。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 開始之前,我們先來看這樣一個提問: pyth...

    lifesimple 評論0 收藏0
  • 紐約蹭飯手冊:怎樣利Python和自動化腳本在紐約省錢又省心?

    摘要:會解釋怎樣使用邏輯回歸,隨機森林,和自動化腳本,但都不會深入。這使我在紐約地區積累了超過名粉絲,并且仍在快速增長。我收集了個帳戶,這些帳戶發布了許多關于紐約的優質圖片。以下面這兩篇帖子為例這兩個帖子來自同一個紐約的帳戶。 showImg(https://segmentfault.com/img/remote/1460000019393373); 在家做飯不下館子可以減少開支已經是公開的...

    Xufc 評論0 收藏0
  • Python爬取了五千美女壁紙,每天一忘記初戀!

    摘要:愛美之心人皆有之,正所謂窈窕淑女君子好逑,美好敲代碼的一天從好看的桌面壁紙開始,好看的桌面壁紙從美女壁紙開始。 大家好,我是辣條,這是我爬蟲系列的第26篇。 愛美之心人皆有之,正所謂窈窕淑女君子好逑,美好敲代碼的一天從好看的桌面壁紙開始,好看的桌面壁紙從美女壁紙開始。今天給大家帶來福利啦,爬...

    huaixiaoz 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<