Python:使用 Beautifulsoup 和 pandas 更好的迭代工作流程?

Python: better iteration workflow using Beautifulsoup and pandas?

各位

我正在努力从文档中提取一些句子,并尝试使用 BeautifulSoup 和 pandas 制作数据框,如下所示。有一些迭代,所以我认为它会像专业人士一样以更好的方式编写。你能帮助开发这些代码行吗?谢谢!

import pandas as pd
from bs4 import BeautifulSoup

bs = BeautifulSoup(html, 'html.parser')

t1 = bs.find_all('h1')[1].text.replace('_room1',"")
t2 = bs.find_all('h1')[2].text.replace('_room1',"") 
t3 = bs.find_all('h1')[3].text.replace('_room1',"")
t4 = bs.find_all('h1')[4].text.replace('_room1',"")

p1 = bs.find_all('p')[3].text
p2 = bs.find_all('p')[4].text + bs.find_all('p')[5].text + bs.find_all('p')[6].text + bs.find_all('p')[7].text
p3 = bs.find_all('p')[8].text
p4 = bs.find_all('p')[9].text


data = {t1: p1,
      t2: p2,
      t3: p3,
      t4: p4}

df = pd.DataFrame(data, index=[0])

df

一次从您的 H1 和 P 获取文本如何:

h1s = [h1.text for h1 in bs.select('h1')[:4]]
ps =  [p.text for p in bs.select('p')]

df = pd.DataFrame({
    h1: p
    for h1, p in zip(h1s, [ps[3], ''.join(ps[4:7]), ps[8], ps[9])
}).T