最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python基礎進階之海量表情包多線程爬蟲功能的實現

 更新時間:2020年12月17日 15:22:58   作者:孤城暮雨  
這篇文章主要介紹了Python基礎進階之海量表情包多線程爬蟲,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、前言

在我們日常聊天的過程中會使用大量的表情包,那么如何去獲取表情包資源呢?今天老師帶領大家使用python中的爬蟲去一鍵下載海量表情包資源

二、知識點

requests網絡庫
bs4選擇器
文件操作
多線程

三、所用到得庫

import os
import requests
from bs4 import BeautifulSoup

四、 功能

# 多線程程序需要用到的一些包
# 隊列
from queue import Queue
from threading import Thread

五、環(huán)境配置

解釋器 python3.6
編輯器 pycharm專業(yè)版 激活碼

六、多線程類代碼

# 多線程類
class Download_Images(Thread):
  # 重寫構造函數
  def __init__(self, queue, path):
    Thread.__init__(self)
    # 類屬性
    self.queue = queue
    self.path = path
    if not os.path.exists(path):
      os.mkdir(path)
  def run(self) -> None:
    while True:
      # 圖片資源的url鏈接地址
      url = self.queue.get()
      try:
        download_images(url, self.path)
      except:
        print('下載失敗')
      finally:
        # 當爬蟲程序執(zhí)行完成/出錯中斷之后發(fā)送消息給線程 代表線程必須停止執(zhí)行
        self.queue.task_done()

七、爬蟲代碼

# 爬蟲代碼
def download_images(url, path):
  headers = {
    'User-Agent':
      'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'
  }
  response = requests.get(url, headers=headers)
  soup = BeautifulSoup(response.text, 'lxml')
  img_list = soup.find_all('img', class_='ui image lazy')
  for img in img_list:
    image_title = img['title']
    image_url = img['data-original']

    try:
      with open(path + image_title + os.path.splitext(image_url)[-1], 'wb') as f:
        image = requests.get(image_url, headers=headers).content
        print('正在保存圖片:', image_title)
        f.write(image)
        print('保存成功:', image_title)
    except:
      pass

if __name__ == '__main__':
  _url = 'https://fabiaoqing.com/biaoqing/lists/page/{page}.html'
  urls = [_url.format(page=page) for page in range(1, 201)]
  queue = Queue()
  path = './threading_images/'
  for x in range(10):
    worker = Download_Images(queue, path)
    worker.daemon = True
    worker.start()
  for url in urls:
    queue.put(url)
  queue.join()
  print('下載完成...')

八、爬取效果圖片

到此這篇關于Python基礎進階之海量表情包多線程爬蟲的文章就介紹到這了,更多相關Python多線程爬蟲內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python編輯器Pycharm安裝配置超詳細教程

    Python編輯器Pycharm安裝配置超詳細教程

    PyCharm是一款功能強大的Python編輯器,具有跨平臺性,下面這篇文章主要給大家介紹了關于Python編輯器Pycharm安裝配置的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • python實現圖片素描效果

    python實現圖片素描效果

    這篇文章主要介紹了python如何實現圖片素描效果,幫助大家利用python處理圖片,感興趣的朋友可以了解下
    2020-09-09
  • 使用Python從零開始擼一個區(qū)塊鏈

    使用Python從零開始擼一個區(qū)塊鏈

    對數字貨幣的崛起感到新奇的我們,并且想知道其背后的技術——區(qū)塊鏈是怎樣實現的。這篇文章主要介紹了使用Python從零開始擼一個區(qū)塊鏈,需要的朋友可以參考下
    2018-03-03
  • Python獲取電腦硬件信息及狀態(tài)的實現方法

    Python獲取電腦硬件信息及狀態(tài)的實現方法

    這篇文章主要介紹了Python獲取電腦硬件信息及狀態(tài)的實現方法,是一個很實用的技巧,需要的朋友可以參考下
    2014-08-08
  • python實現梯度法 python最速下降法

    python實現梯度法 python最速下降法

    這篇文章主要為大家詳細介紹了python梯度法,最速下降法的原理,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • python實現石頭剪刀布小游戲

    python實現石頭剪刀布小游戲

    這篇文章主要為大家詳細介紹了python實現石頭剪刀布小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • python實現將內容分行輸出

    python實現將內容分行輸出

    本文給大家分享的是使用python實現將一行里的內容進行分行輸出,一共給出了四種方法,小伙伴們可以參考下
    2015-11-11
  • Python中的pass語句使用方法講解

    Python中的pass語句使用方法講解

    這篇文章主要介紹了Python中的pass語句使用方法講解,是Python入門學習中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • 如何解決flask修改靜態(tài)資源后緩存文件不能及時更改問題

    如何解決flask修改靜態(tài)資源后緩存文件不能及時更改問題

    在本篇內容里小編給大家整理的是關于如何解決flask修改靜態(tài)資源后緩存文件不能及時更改問題,需要的朋友們可以學習下。
    2020-08-08
  • Tensorflow: 從checkpoint文件中讀取tensor方式

    Tensorflow: 從checkpoint文件中讀取tensor方式

    今天小編就為大家分享一篇Tensorflow: 從checkpoint文件中讀取tensor方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02

最新評論

乌审旗| 南汇区| 石城县| 新巴尔虎右旗| 平顶山市| 福鼎市| 安龙县| 右玉县| 肇东市| 武义县| 东港市| 义乌市| 临武县| 登封市| 甘谷县| 万荣县| 丰镇市| 家居| 甘德县| 芜湖市| 勃利县| 佳木斯市| 嘉兴市| 敖汉旗| 哈巴河县| 宿迁市| 昭苏县| 鸡西市| 翁牛特旗| 三江| 永年县| 张北县| 玉林市| 息烽县| 桃园市| 呼和浩特市| 桦川县| 库车县| 沙坪坝区| 钟祥市| 金华市|