1
我能夠使用俄羅斯統計網站的以下代碼提取數據並創建CSV文件。但是,我有兩個問題,首先,我不知道爲什麼在兩個非空白行之間總是插入空行。其次,我不知道如何編寫一個不錯的表格,將同一月的數據分佈在不同的列上。現在,一切都在一個單元格中。謝謝。從抓取的HTML數據中寫入CSV
from bs4 import BeautifulSoup
import lxml
import urllib2
import csv
f=csv.writer(open("Russia.csv","w"))
mainurl='http://www.gks.ru/bgd/free/B00_25/IssWWW.exe/Stg/d000/I000750R.HTM'
urlroot='http://www.gks.ru/bgd/free/B00_25/IssWWW.exe/Stg/d000/'
data = urllib2.urlopen(mainurl).read()
page = BeautifulSoup(data,'html.parser')
for link in page.findAll('a'):
page = urllib2.urlopen(urlroot+link.get('href'))
soup = BeautifulSoup(page, 'lxml')
years=soup.findAll('title',text=True)
table = soup.find('center').find('table')
for row in table.find_all('tr')[3:]:
cells = [cell.get_text(strip=True) for cell in row.find_all('td')]
f.writerow([cells])
什麼是你想要的輸出? – alecxe
@alecxe;我期望的輸出看起來像這樣[在csv中的第1行的示例]:1月; 112,8; 28,2; 1,2 [然後是下一行的下一個項目,以及我列表中的所有項目],所以是一個csv,它在每行的列表中列出每個項目的數據。現在,我的問題是,csv編寫者在每個項目前直接寫入unicode「u」。 –