将美丽汤输出加载到熊猫数据框中 - 行未知



我正在解析HTML页面中的数据。 它处于一个正确的旧混乱状态,因此我必须搜索类和跨度才能获取我的数据。

我想将数据推送到数据框中。

我有代码工作,但是,我不知道在创建数据框之前知道行数。 为了测试我的代码,我将行设置为 2000。

我宁愿不要遍历 HTML 两次 - 有没有更好的方法来构建我的数据框?

soup = BeautifulSoup(source_code, "lxml")
new_table = pd.DataFrame(columns = range(0,3), index = range(0,2000)) # I don't know the number of rows
row_marker = 0
column_marker = 0
#Column 0    
for header in soup.find_all("div", attrs={'class':'innerListing'}):
title = header.find("h2")
#print (title.text.strip())
new_table.iat[row_marker,column_marker] = title.text.strip()
row_marker +=1
column_marker = 1
row_marker = 0
#Columns 1&2
for layout in soup.find_all("div", attrs={'class':'layout'}):
for info in layout.find_all("span", attrs={'class':'info',"id":True}):
if "Stock" in info["id"]:
new_table.iat[row_marker,column_marker] = info.text.strip()
column_marker += 1
row_marker +=1
column_marker =1
print(new_table)

我最终循环浏览 HTML 以计算所需的总行数。

最新更新