<button id="2ddn7"><acronym id="2ddn7"></acronym></button>

<button id="2ddn7"><acronym id="2ddn7"></acronym></button>

  • <button id="2ddn7"><object id="2ddn7"></object></button>
      1. <s id="2ddn7"></s>
        更多課程 選擇中心


        Python培訓

        400-111-8989

        Python多線程爬蟲,分分鐘下載百度圖片

        • 發布:鄔樂昊
        • 來源: 2406工作室
        • 時間:2018-02-03 16:58

        最近我在學習Python,因為以前學習過C++,所以Python學起來還是挺快的,不知不覺中就學到了爬蟲,我在敲了一遍爬蟲的代碼后,發現了幾個問題:

        找不到requests庫。

        下載速度太慢。

        沒有詳細的講解,第一遍很難讀懂。

        解決辦法:

        通過命令提示符安裝Python庫。

        使用多線程。

        自己寫注釋

        效果:

        下面我就給大家詳細的講解一下windows安裝Python庫文件解決辦法。

        按下快捷鍵:“win鍵”+字母“r”,并輸入“cmd”,打開“命令提示符”。

        輸入“pip install 庫文件名稱”。

        如果下載過程中有提問,就輸入“y“并回車。

        代碼

        我給代碼寫了詳細的注釋,所以這里就不詳細的講解了。也可以到我的網站去下載http://wulehao.com/download/%E5%A4%9A%E7%BA%BF%E7%A8%8BPython%E7%88%AC%E8%99%AB.py

        #-*- coding:utf-8 -*-

        import re

        import requests

        import os

        import _thread

        import time

        print('注明:')

        print('1、本程序只供公眾號讀者們學習使用,請勿用于其他用途。')

        print('2、可能有一些圖片因為鏈接失效下載不了,不是本程序的問題。')

        print('3、本程序使用了多線程,輸出可能有一點亂。')

        print('4、本程序會自動在D盤創建一個目錄,名稱為下載內容,圖片會放在里面。')

        key_word = input("請輸入下載內容:")

        num = input('請輸入下載頁數:')

        i = 0  #圖片名稱(編號0~n)

        st = 'D:\\'+key_word #存放圖片的文件夾(如果沒有D盤可以改為C盤)。

        if os.path.isdir(st) == False:

        os.mkdir(st) #如果沒有這個文件夾就創建一個

        def getpic(each,ii):

        #print(each)  打印地址(因為是多線程的程序,打印出來會很亂,所以去掉了。)。

        try:

        pic= requests.get(each)  #嘗試回獲取圖片

        except requests.exceptions.ConnectionError:

        pri='圖片錯誤!圖片'+str(ii)+'無法下載'

        print(pri) #鏈接失效,報錯并退出函數。

        return

        string =st+'\\'+str(ii) + '.jpg' #將文件夾路徑和文件名合并,得到圖片路徑。

        fp = open(string,'wb') #打開文件,沒有文件就新建一個。

        fp.write(pic.content) #將下載完的圖片寫入到文件中。

        fp.close() #關閉文件

        pri=str(ii)+'、'

        print(pri) #向使用者匯報

        print('下載完成的圖片有:') #for循環之前打印標題,等待圖片下載完成。

        for i in range(int(num)):

        pn = i*20 #百度圖片的頁數值為頁數*20

        url = 'https://tupian.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word='+str(key_word)+'&pn='+str(pn)+'&gsm=3c&ct=&ic=0&lm=-1&width=0&height=0' #拼接鏈接

        html = requests.get(str(url)).text #獲取地址

        pic_url = re.findall('"objURL":"(.*?)",',html,re.S) #用正則表達式獲取圖片鏈接列表。

        for each in pic_url:

        _thread.start_new_thread(getpic,(each,i)) #創建新進程下載圖片,each為圖片鏈接,i為圖片編號。

        i += 1 #圖片編號加“1”

        time.sleep(120000) #等待兩分鐘

        文章來自網絡,版權歸原作者所有,如果侵犯你的權利,請聯系我們進行刪除!

        預約申請免費試聽課

        填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

        上一篇:解讀『2017年度Python榜單』
        下一篇:3本零基礎學習Python的書籍推薦

        Python中類的屬性有哪幾種

        Python語法你知道多少

        Python 中常見的配置文件寫法

        Python爬蟲可以做什么

        • 掃碼領取資料

          回復關鍵字:視頻資料

          免費領取 達內課程視頻學習資料

        • 視頻學習QQ群

          添加QQ群:1143617948

          免費領取達內課程視頻學習資料

        Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

        選擇城市和中心
        黑龍江省

        吉林省

        河北省

        湖南省

        貴州省

        云南省

        廣西省

        海南省

        青青青草网站免费观看|青青青视频在线观看 超真实强奷视频在线看 百度 好搜 搜狗
        <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>