標的部位ます。https://china.nba.com/playerindex/
すべてのプレイヤークロール情報:ページのURLを切り替えるの標的部位の分析は変更されませんし、ページコンテンツ変わらず
データをクロールセレンアナログを使用してログイン:
webdriverをセレンをインポート インポートetree lxmlのから インポートPANDAS AS PD インポートJSON インポート時間 ブラウザー= webdriver.Chrome() :試し browser.get( "https://china.nba.com/playerindex/") 待ち= WebDriverWait(ブラウザ、 10) #情報分析ページ、Zのアルファベットから始まる名前を見つけることが、最後の桁のXPathは、文字に対応するように変更するので、我々はページを対応する対応XPathをスプライスし、情報を見る]をクリックします 1(範囲内のiについて、27): パス=「// * [ID = "メインコンテナ" @] / DIV / DIV [2] / DIV [2] / sectionTop / DIV / DIV / DIV / DIV / DIV / DIV [3] 2] / DIV [2] / '+' DIV [ '+ STR(I)+'] '
#は、XPathクリック見つける browser.find_element_by_xpath(パス).click()
#は、対応するプレイヤ情報である第1のリストを見つけます表 DF = pd.read_html(browser.page_source)[0]
#CSVファイルをエクスポートします df.to_csv( 'STD' + STR(I)+ 'CSV'、インデックス= False)が time.sleep(10) 最後に: browser.close()
私はすべてのページの一覧を表示する方法がありませんのでそこに見つけるためのCSVファイルがあるので、私は唯一の最も簡単な方法を使用することができます。26 CSVファイルを生成し、その後、内部のcsvファイルに保存
パラジウムとしてインポートパンダ インポートOS LAは= [] :I範囲(1,27)にするための パス= 'STD' + STR(I)+ 'CSV' la.append(パス) :ラに入力ファイルのための PF = PD。 read_csv(INPUTFILE、ヘッダ=なし) pf.to_csv( 'all.csv'、モード= ''、インデックス= Falseを、ヘッダ=偽)
それは、大きなCSVファイルを生成するので、ここでは、再設定する必要があるパスは、ですが、その後、データベースをインポートし、もちろん私は手動インポートを言っていないです
xlrdモジュールは、データベースにインポートLXSテーブルをサポートしていますので、私はしたいCSVファイルXLSにファイルを変換することです
IOインポートたStringIOからの 輸入のcsv のPdとして輸入パンダ ":\ Users \ユーザー23990 \デスクトップ\ all.csv C" c_path = R x_path = R "C:\ Users \ユーザー23990 \デスクトップ\ xxx.xls" #路径中的XLS文件在调用to_excel时会自动创建 DEF csv_to_xls(csv_path、xls_path): オープンで(csv_path、R ''、エンコード= 'GB18030'、エラーが= '無視')Fとして: データ= f.read() DATA_FILE =たStringIO(データ) 、印刷(DATA_FILE) csv_reader = csv.reader(DATA_FILE) list_csv = [] 行のcsv_readerで: list_csv.append(行) df_csv = pd.DataFrame(list_csv).applymap(STR) ''」 の一部ではありませんCSV形式のXLS、CSVファイルが、フィルタ用にインストールした後、書き込み df_csv = df_csv [( df_csv [4] == '')| ([4] == 'name'をdf_csv df_csv.to_csv(csv_path、インデックス= 0をヘッダ= 0、エンコード=「GB18030 ) '#のCSVファイルが書き込まれた ''' ライター= pd.ExcelWriter(xls_path) #書き込まエクセル df_csv.to_excel( excel_writer =ライター、 インデックス= Falseを、 ヘッダ=偽 ) writer.save () csv_to_xls(c_path、x_path)
私が話し中で新しいアプローチを見つけるまで、最後にデータベース、完璧な、この方法でWindows環境に、Mac版での試みが存在しない、完全に動作し