我在Python 2.7.13上編寫了這個代碼,用於從網站上抓取數據表。如何將網頁抓取表導出爲具有多行的csv?
import urllib2
from bs4 import BeautifulSoup
import csv
import os
out=open("proba.csv","rb")
data=csv.reader(out)
def make_soup(url):
thepage = urllib2.urlopen(url)
soupdata = BeautifulSoup(thepage, "html.parser")
return soupdata
maindatatable=""
soup = make_soup("https://www.mnb.hu/arfolyamok")
for record in soup.findAll('tr'):
datatable=""
for data in record.findAll('td'):
datatable=datatable+","+data.text
maindatatable = maindatatable + "\n" + datatable[1:]
header = "Penznem,Devizanev,Egyseg,Penznemforintban"
print maindatatable
file = open(os.path.expanduser("proba.csv"),"wb")
utf16_str1 =header.encode('utf16')
utf16_str2 = maindatatable.encode('utf16')
file.write(utf16_str1)
file.write(utf16_str2)
file.close()
我想這跟接下來的4行導出爲CSV:
「Penznem Devaizanev Egyseg Penznemforintban」
的數據,它們之間用「」但最後兩個值是一行。 (283,45)
我該如何解決?
,可以用[CSV](https://docs.python.org/2/library/csv.html)模塊中蟒。 –