我正在尝试将IFPI 2014数据的数据保存到一个csv文件中。但是我一直收到此索引错误。
回溯(最近通话最近): 在第15行的文件“ C:\ Users \ Brian \ eclipse-workspace \ FTS \ src \ FirstModule.py” tbody = soup('table',{“ class”:“ wikitable plainrowheaders sortable jquery-tablesorter”})[0] .find_all('tr') IndexError:列表索引超出范围
我注意到csv文件已创建,但csv文件中没有数据。我不明白为什么它会给我这个错误信息,因为据我所知索引是正确的。
import csv
import urllib.request
from bs4 import BeautifulSoup
f = open('dataoutput.csv', 'w', newline = '')
writer = csv.writer(f)
soup = BeautifulSoup(urllib.request.urlopen("https://en.wikipedia.org/wiki/Global_music_industry_market_share_data").read(), 'lxml')
tbody = soup('table', {"class":"wikitable plainrowheaders sortable
jquery-tablesorter"})[0].find_all('tr')
for row in tbody:
cols = row.findChildren(recursive=False)
cols = [ele.text.script() for ele in cols]
writer.writerow(cols)
print(cols)
有人可以向我指出我要去哪里了吗
答案 0 :(得分:0)
由于您是通过REST请求获取页面的,因此未添加任何CSS或JS属性。 以下代码段正在为我返回数据:
tbody = soup('table', {"class":"wikitable plainrowheaders sortable"})[0].find_all('tr')