複数ページのテーブルをスクレイピングした結果をすべてCSV出力する


複数ページのテーブルをスクレイピングすることはできているのですが、その取得結果すべてをCSVに出力できずに困っています。  
組んでみたコードでは、2番めのURLから取得したテーブルのみが、CSVとして出力されています。  
すべてのURLから取得したテーブルをすべてCSVに出力するための工夫をご教示ください。

[code]

    import csv
    import urllib.request
    from bs4 import BeautifulSoup
    import pandas as pd
    urls = ['http://honya.univ.coop/ranking_lst.php?rankingcd=001',
    'http://honya.univ.coop/ranking_lst.php?rankingcd=002',
    ]
    
    for url in urls:
      html = urllib.request.urlopen(url)
      bsObj = BeautifulSoup(html, "html.parser")
      table = bsObj.findAll("table", {"class":"rankingTable"})[0]
      tables = table.findAll("tr")
      print(tables)
    
      with open("newbooks.csv", "w", encoding='utf-8') as file:
        writer = csv.writer(file)
        for row in tables:
            csvRow = []
            for cell in row.findAll(['td', 'th']):
                csvRow.append(cell.get_text())
            writer.writerow(csvRow)
    
    pd.read_csv("newbooks.csv")
    
[/code]




現状のコードでは `open` でファイルを開く時に上書きモード `w`
が指定されているので、ループ処理でファイルを開くたびにリセットされ、最後の結果だけが出力されている状態なのだと思います。

以下の通りファイルオープン時に **追記モード** `a` を指定してみてください。

[code]

    open("newbooks.csv", "a", encoding='utf-8')
    
[/code]

