複数ページのセレンクロールストレージについて

標的部位ます。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版での試みが存在しない、完全に動作し

 

おすすめ

転載: www.cnblogs.com/FlowerNotGiveYou/p/11595050.html