1
thisチュートリアルを使用してテーブルを削り取ろうとしています。私は確かに私が正しいテーブルを得ていると確信していますが、私の出力はu'\n'
でいっぱいのリストです。単純なhtmlテーブルをスクラップすると、 ' n(Python with BeautifulSoup)が返されます
行if len(cells) == 10:
は、ヘッダーではなく実際の内容のみを擦ることができます。番号を変更すると、私のリストはすべてNone
として返されますが、数字が10
の場合、それらは正しい数の項目で満たされます。それらの項目はすべて同じです。
私は間違っていますか?
ありがとうございました!
# -*- coding: utf-8 -*-
"""
Created on Wed Jun 29 13:21:36 2016
@author: natasha
"""
import urllib2
ukr = "http://www.ukrstat.gov.ua/operativ/operativ2013/rp/zn_ed_reg/zn_ed_reg_e/zn_ed_reg_2014k_e.htm"
page = urllib2.urlopen(ukr)
from bs4 import BeautifulSoup
soup = BeautifulSoup(page)
#scraping just the first table
table = soup.find('table', id = "table2")
#creating lists for future variables
NAM=[]
TOT=[]
AGR=[]
IND=[]
CON=[]
TRA=[]
STO=[]
ACC=[]
INF=[]
FIN=[]
#looping over rows
for row in table.findAll("tr"):
cells = row.findAll("td")
if len(cells) == 10:
NAM.append(cells[0].find(text=True))
TOT.append(cells[1].find(text=True))
AGR.append(cells[2].find(text=True))
IND.append(cells[3].find(text=True))
CON.append(cells[4].find(text=True))
TRA.append(cells[5].find(text=True))
STO.append(cells[6].find(text=True))
ACC.append(cells[7].find(text=True))
INF.append(cells[8].find(text=True))
FIN.append(cells[9].find(text=True))