# - * -コーディング: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()
Pythonは、データベースに接続して練習するために必要なデータを照会します
おすすめ
転載: blog.csdn.net/lierwang2017/article/details/94717899
おすすめ
ランキング