1. Python で一連のデータを mysql に書き込みます。主なポイントは、python とMySQL の間の初期接続を実現することです。root -p in DOS ログインするためのパスワードを入力してください。そうしないと、接続でエラーが報告されます。別のモジュールをダウンロードして解決できますが、ログインする必要はないと思います。そうしないと、モジュールが多すぎます db = pymysql.Connect(host='localhost', port=3306, user ='root', # データベースに接続 MySQL passwd='******', database='db_securities', charset='utf8') #これは pymysql.Connect 関数です。その中のパラメーターを調べることができます。直接取得するだけです 使用するには、パスワードを変更するだけで済みます。 db_securities' cursor = db.cursor() # カーソルを完全に作成します sql = """ # 典型的な SQL ステートメントを str の形式で 挿入します t_pe(date, 10yearsyotb, cna, hs300, zz500, zz1000, cyb, kcb, shch , hkt, nsdq100) 値 ('2022-10-21', 2.7287, 16.36, 10.98, 20.96, 28.35, 45.43, 40.4, 54.72, 36.95, 23.45) "" cursor.execute(sql) # SQL ステートメントを実行するのは ";+enter" と同等で、SQL が検出された場合は; end、Enter キーを押して実行します db.commit() # ハードディスクに書き込むコマンドをサブミットしますが、ランダムに変更しない場合、MySQL はデフォルトでサブミットします cursor.close() # カーソルを閉じます db.close() # データベースを閉じます
2. Python は mysql に接続し、単純なクローラー データを書き込みます。json インポート リクエストを中心に #クローラー リクエスト モジュール import re #通常のマッチング モジュール インポート json #転送モジュール、辞書のような文字列を辞書に変換し、辞書の文字列を辞書に変換します、とにかく非常に強力です import pymysql index_tuple = [] # クロールされたデータを配置する空のリストを作成します headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64)' 'AppleWebKit/537.36 (KHTML , Gecko など) Chrome/86.0.4240.198 Safari/537.36'} # 'user-agent' をコピーして、クローラーがユーザーをよりリアルにシミュレートできるようにします。また、Cookie とプロキシ IP を使用することもできます (無料のものはあまり使用されていません) ルール= r 'quote: (.*),' # 通常のマッチングルールを指定し、ウェブページのソースコードデータを見て、必要なデータの先頭と末尾は何か、マッチングする response = requests.get(' https://xueqiu.com /S/SH000001', headers=headers) # get リクエストを送信します。post リクエストにはインタラクティブなパラメーターが必要です。たとえば、検証コードを入力する場合は、data = result[0] # response .text) # 結果に一致します。一致は ['{target data}'] のタイプです リストから「{対象データ}」を取り出す data1 = json.loads(data) # json を使用して辞書に復元し、キーに従って値を取得し、これを繰り返しますクローラー部分と最初の部分 接続 index_tuple.extend([float(data1['current']), data1['amount']/100000000]) response = requests.get('https://xueqiu.com/S/ SZ399006', headers=headers) result = re.findall(rule, response.text) data = result[0] data1 = json.loads(data) index_tuple.extend([float(data1['current']), data1[ '金額']/100000000] ) index_list = [] asd = round(index_tuple[1]+index_tuple[3],2) date = '2022-10-21' db = pymysql.Connect(host='localhost', port =3306, user='root ', # データベースに接続 MySQL passwd='******', database='db_securities', charset='utf8') カーソル = db.cursor() sql = "insert into t_index(date, Shanghai Composite Index, GEM Index, 2 market turnover, GEM turnover)" \ " " values('%s', '%.2f', '%.2f', '%.2f', '%.2f')" %(date, index_tuple[0], index_tuple[4], asd, index_tuple [5]) cursor.execute(sql) db.commit() cursor.close() db.close()