我有一个没有任何表格的html网站,我想以表格的形式废弃数据.

    <div class='ah-content'
      <h4>XYZ Community</h4>
      <p>123 Street</p>
      <p>Atlanta, Georgia, 12345</p>
      <p>1234567890</p>
     </div>

这是一个很长的列表,我想在<div>之间捕获<h4><p>

因此,输出将为:

Name Address Address2 Phone
xyz Community 123 Street Atlanta, Georgia, 12345 1234567890

推荐答案

如果所有<div class='ah-content'>个都遵循与示例中相同的模式,则可以使用此脚本创建数据帧:

import pandas as pd
from bs4 import BeautifulSoup


html_doc = """\
<div class='ah-content'>
  <h4>XYZ Community</h4>
  <p>123 Street</p>
  <p>Atlanta, Georgia, 12345</p>
  <p>1234567890</p>
 </div>"""

soup = BeautifulSoup(html_doc, "html.parser")

strings = [[t.text for t in c.find_all()] for c in soup.select(".ah-content")]

df = pd.DataFrame(strings, columns=["Name", "Address", "Address2", "Phone"])
print(df.to_markdown(index=False))

打印:

Name Address Address2 Phone
XYZ Community 123 Street Atlanta, Georgia, 12345 1234567890

Python相关问答推荐

标题:如何在Python中使用嵌套饼图可视化分层数据?

未删除映射表的行

无法通过python-jira访问jira工作日志(log)中的 comments

从numpy数组和参数创建收件箱

如何记录脚本输出

不能使用Gekko方程'

如何使用两个关键函数来排序一个多索引框架?

找到相对于列表索引的当前最大值列表""

Python日志(log)模块如何在将消息发送到父日志(log)记录器之前向消息添加类实例变量

使用类型提示进行类型转换

简单 torch 模型测试:ModuleNotFoundError:没有名为';Ultralytics.yolo';

python的文件. truncate()意外地没有截断'

为什么后跟inplace方法的`.rename(Columns={';b';:';b';},Copy=False)`没有更新原始数据帧?

pytest、xdist和共享生成的文件依赖项

修改.pdb文件中的值并另存为新的

用由数据帧的相应元素形成的列表的函数来替换列的行中的值

按最大属性值Django对对象进行排序

跨两个数据帧收集非索引列上的公共组

如何在开始迭代自定义迭代器类时重置索引属性?

Networkx中K-Shell最核心的 node