Python 如何迭代HTML数据中所有表的代码?
这是我正在抓取的网页的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
这是我的代码:
以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)