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

这是我正在抓取的网页的HTML数据,如您所见,它具有多个选项卡。 (https://paste.pythondiscord.com/resaxivedo.py

This is my code:
with open("tabledata.html","r") as f:
    contents = f.read()
    outfile = open("table_data.csv","w",newline='')
    writer = csv.writer(outfile)
    tree = BeautifulSoup(contents,"lxml")

    dates = tree.findAll(class_="date")
    list_of_dates = [date.text for date in dates]

    table_tag = tree.select("table")[0]
    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)

如您所见,我正在使用[0]选择表格和日期。 如何进行循环,使其可以为HTML页面中的所有表打印数据?

z145071 回答:如何为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)
本文链接:https://www.f2er.com/3133189.html

大家都在问