Pythonは、データベースに接続して練習するために必要なデータを照会します

# - * -コーディング:UTF-8 - * -
インポートのOS
インポート要求が
pymysqlインポート
_threadインポートを
#importをスレッド


#カスタムダウンロードディレクトリ
パス= 'F:/爬虫類/ YSJ /'

#スレッドロック
#lock = threading.Lock()
スレッドツリー
threadNum = 50

#请求头定义
ヘッダー= {
        '接続': 'キープアライブ'、
        '言語を受け入れ': 'ZH ZH-CN、; Q = 0.9'、
        '承諾': 'text / htmlの、アプリケーション/ XHTML + XML、アプリケーション/ xmlの; \
        Q = 0.9、画像/ WEBP、画像/ APNG、* / *; Q = 0.8' 、
        'ユーザーエージェント': 'のMozilla / 5.0(Windows NTの10.0; WOW64)のAppleWebKit / 537.36 \
        (KHTML、ヤモリ)クローム/ 63.0.3239.132サファリ/ 537.36' 、など
    }

#オープンデータベースコネクティビティ
DB = pymysql.connect(
    ホスト= '127.0.0.1'、
    ポート= 3316、
    ユーザー= 'Lutong'、
    passwdファイル= 'XXXXX'、
    DB = 'ビデオゲーム-中央'、
    文字セット= 'UTF8'

#データベースに接続し、かつ基づき発行されたアクションをトリガー
getImgUrlFromDB()DEFが:
    
    の操作カーソル番号の使用カーソル()メソッドを取得します 
    カーソル= db.cursor()
    
    #のSQLクエリ
    「SELECT t_series \からposter_hd SQL =を
            ステータス= 『オンライン』」

    試してみる:
        #SQL文の実行
        (SQL)cursor.executeを
        #は、すべてのレコードのリストの取得
        結果= cursor.fetchallを()
        の結果の行のために:
            IMG =行[0]
            imgUrl =「HTTPS://mgr-vision.vas.lutongnet。 COM /ゲーム-ADMIN-中央/「+ IMG
            #印刷結果
            #Print( "%のS = imgUrlための" imgUrl%のための)
            (imgUrl、IMG用)のダウンロード
    除い:
        印刷( "データベースクエリのエラー!")

    #データベース接続閉じます
    )(db.closeを

#下载操作
デフダウンロード(URL、IMG):
    試してください:
        R = requests.get(URL)
        印刷(パス+ IMG)
        Fなどのオープンと(パス+ IMG、 'WB'):
            f.write(r.content)
    を除きますrequests.exceptions.ConnectionError:
        プリント( '资源请求错误!')
        戻り
    f.close()

#マルチスレッドダウンロード
DEFループ(URL):
    真の中に:
        試してみる:
            ダウンロード(URL)
        を除く:
            印刷( 'スレッド例外\トン%S' %URL)
    
開発ディレクトリを作成
DEF createDir(パス):
    パス= path.strip( )
    パス= path.rstrip( '\\')
    ISEXIST = os.path.exists(パス)
    
    ではないISEXIST場合:
        os.makdirs(パス)
    他:
        印刷は、() '!ディレクトリが既に存在する、作成するために繰り返される必要がありません'
        
#メインに方法                
__name__ == '__main__' IF:
    #ディレクトリ作成
    createDir(パス);
    getImgUrlFromDB()
    範囲(0、threadNum)に#for I:
    #= threading.ThreadのT(目標=ループ、名前=「プロセスID:%sの「%I、引数=(IMGS 、))
    #1 t.start()

おすすめ

転載: blog.csdn.net/lierwang2017/article/details/94717899
おすすめ