给定以下html内容:
<div>
<h3>Name :</h3>
<p>Person A</p>
<h3>Name :</h3>
<p>Person B</p>
<h3>Name :</h3>
<p>Person c</p>
</div>
我需要使用xPath提取p标记下每个人的名字。当我使用以下表达式时:
name = container.xpath(".//h3[text()='Name :']/following-sibling::p/text()")
我在提取的.csv文件中得到此输出:
Person A Person B Person C
但是我需要在每个人之后都有换行符,如下所示:
Person A
Person B
Person C
我用来获取csv文件的代码如下:
with open("person.csv", "w") as f:
writer = csv.DictWriter(f, fieldnames = fieldnames, lineterminator = '\n')
writer.writeheader()
for row in output:
writer.writerow(row)
有没有一种方法可以构造xPath来实现这一目标?
尝试这样的事情:
name = container.xpath(".//h3[text()='Name :']/following-sibling::p/text()")
names = ''
for n in name:
names+=(n+'\n')
和使用names
在output
您保存到CSV之前。