成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

iliyaku / 1192人閱讀

摘要:最近稿定設(shè)計(jì)這個(gè)站點(diǎn)挺火,設(shè)計(jì)組的大哥一直在提,啊,這個(gè)好,這個(gè)好。目的是給設(shè)計(jì)組大哥提供素材參考,畢竟做設(shè)計(jì)的可不能抄襲哦思路枯竭的時(shí)候,借鑒一下還湊合??戳艘谎墼O(shè)計(jì)大哥的頭發(fā),我覺得夠他用一年了。

最近【稿定設(shè)計(jì)】這個(gè)站點(diǎn)挺火,設(shè)計(jì)組的大哥一直在提,啊,這個(gè)好,這個(gè)好。

機(jī)智的我,思考了一下,決定給他采集一些公開素材,以后跟設(shè)計(jì)對(duì)線的時(shí)候,肯定要賣個(gè)人情。

目標(biāo)站點(diǎn)分析

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

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

目標(biāo)站點(diǎn)的篩選項(xiàng)非?!百N心”的提供“全部”這一選項(xiàng),省的我們拼湊分類了。


在查閱分頁的時(shí)候,發(fā)現(xiàn)稿定設(shè)計(jì)網(wǎng)站僅開放了 100 頁數(shù)據(jù),每頁 100 條,也就是咱只能獲取到 10000 張圖片。

看了一眼設(shè)計(jì)大哥的頭發(fā),我覺得夠他用一年了。

頁面 URL 跳轉(zhuǎn)鏈接規(guī)則如下:

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

但是數(shù)據(jù)的請(qǐng)求鏈接為下述規(guī)則:

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

參數(shù)說明

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

有了上述分析之后,就可以進(jìn)行編碼工作了。

編碼時(shí)間

在正式編碼前,先通過一張圖整理邏輯,該案例依舊為生產(chǎn)者與消費(fèi)者模式爬蟲,采用 threading 模塊queue 隊(duì)列模塊實(shí)現(xiàn)。


理解上圖之后,就可以編寫下述代碼了,重點(diǎn)部分在注釋中體現(xiàn),本次采用類寫法,學(xué)習(xí)的時(shí)候需要特別注意一下。

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# 生產(chǎn)者線程class Producer(threading.Thread):    def __init__(self, t_name, queue):        threading.Thread.__init__(self, name=t_name)        self.data = queue 	# 測(cè)試爬取 3 頁,實(shí)際采集的時(shí)候,可以放大到100頁    def run(self):        # 測(cè)試數(shù)據(jù),爬取3頁        for i in range(1,3):            print("線程名: %s,序號(hào):%d, 正在向隊(duì)列寫入數(shù)據(jù) " % (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 驗(yàn)證,防止報(bào)錯(cuò)            if res:                data = res.json()                # JSON 提取數(shù)據(jù)                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()))# 消費(fèi)者線程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:        	# 從隊(duì)列獲取數(shù)據(jù)            val = self.data.get()            if val is not None:                print("線程名:%s,正在讀取數(shù)據(jù):%s" % (self.getName(), val))                title,url = val                # 請(qǐng)求圖片                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}","寫入完畢")# 主函數(shù)def main():    queue = Queue()    producer = Producer("生產(chǎn)者", queue)    consumer = Consumer("消費(fèi)者", queue)    producer.start()    consumer.start()    producer.join()    consumer.join()    print("所有線程執(zhí)行完畢")if __name__ == "__main__":    main()

生產(chǎn)者線程用于產(chǎn)生圖片地址,存放到隊(duì)列 queue 中,消費(fèi)者線程通過一個(gè)“死循環(huán)”不斷從隊(duì)列中,獲取圖片地址,然后進(jìn)行下載。

代碼運(yùn)行效果如下圖所示:

收藏時(shí)間

代碼倉(cāng)庫(kù)地址:https://codechina.csdn.net/hihell/python120,去給個(gè)關(guān)注或者 Star 吧。

你需要的 10000 張?jiān)O(shè)計(jì)參考圖下載地址

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

數(shù)據(jù)沒有采集完畢,想要的可以在評(píng)論區(qū)留言交流

今天是持續(xù)寫作的第 211 / 365 天。
可以關(guān)注我,點(diǎn)贊我、評(píng)論我、收藏我啦。

更多精彩

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/119316.html

相關(guān)文章

  • 關(guān)于Python爬蟲種類、法律、輪子一二三

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

    lscho 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.30 - 學(xué)習(xí) Python 來做一些神奇好玩事情吧

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

    lifesimple 評(píng)論0 收藏0
  • 紐約蹭飯手冊(cè):怎樣利Python和自動(dòng)化腳本在紐約省錢又省心?

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

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

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

    huaixiaoz 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<