Python 如何迭代HTML数据中所有表的代码?

Python 如何迭代HTML数据中所有表的代码?,python,loops,web-scraping,html-table,Python,Loops,Web Scraping,Html Table,这是我正在抓取的网页的HTML数据,你可以看到它有多个选项卡。() 这是我的代码: 以open(“tabledata.html”、“r”)作为f: contents=f.read() outfile=open(“table_data.csv”,“w”,换行符=”) writer=csv.writer(输出文件) 树=美化组(内容,“lxml”) 日期=tree.findAll(class=“date”) 列表日期=[date.text表示日期中的日期] table_tag=树。选择(“表”)[0

这是我正在抓取的网页的HTML数据,你可以看到它有多个选项卡。()

这是我的代码:
以open(“tabledata.html”、“r”)作为f:
contents=f.read()
outfile=open(“table_data.csv”,“w”,换行符=”)
writer=csv.writer(输出文件)
树=美化组(内容,“lxml”)
日期=tree.findAll(class=“date”)
列表日期=[date.text表示日期中的日期]
table_tag=树。选择(“表”)[0]
tab_data=[[item.text用于第行_data中的项目。选择(“th,td”)]
对于表标记中的行数据,选择(“tr”)]
writer.writerow(列出日期[0])
对于tab_数据中的数据:
打印(“”.join(数据))
writer.writerow(数据)
如您所见,我正在使用[0]选择表和日期。 如何创建循环以便打印HTML页面中所有表的数据?

类似于以下内容:

for table_tag in tree.select("table") :
    tab_data = [[item.text for item in row_data.select("th,td")]
                for row_data in table_tag.select("tr")]
    writer.writerow(list_of_dates[0])
    for data in tab_data:
        print(' '.join(data))
        writer.writerow(data)
大概是这样的:

for table_tag in tree.select("table") :
    tab_data = [[item.text for item in row_data.select("th,td")]
                for row_data in table_tag.select("tr")]
    writer.writerow(list_of_dates[0])
    for data in tab_data:
        print(' '.join(data))
        writer.writerow(data)