【发布时间】:2021-01-21 04:49:22
【问题描述】:
似乎无法对以下 HTML 进行字符串处理:
[<address class="styles_address__zrPvy"><svg class="styles_addressIcon__3Pu3L" height="42" viewbox="0 0 32 42" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M14.381 41.153C2.462 23.873.25 22.1.25 15.75.25 7.051 7.301 0 16 0s15.75 7.051 15.75 15.75c0 6.35-2.212 8.124-14.131 25.403a1.97 1.97 0 01-3.238 0zM16 22.313a6.562 6.562 0 100-13.125 6.562 6.562 0 000 13.124z"></path></svg>Level 1 44 Market Street<!-- -->, <!-- -->Sydney</address>]
“标题”工作正常,但“地址”未提取。
path = "C:\\Users\\mpeter\\Downloads\\lksd\\"
titleList = []
for infile in glob.glob(os.path.join(path, "*.html")):
markup = (infile)
soup = BeautifulSoup(open(markup, "r").read(), 'lxml')
title = soup.find_all("title")
title = soup.title.string
titleList.append(title)
streetAddressList = []
for infile in glob.glob(os.path.join(path, "*.html")):
markup = (infile)
soup = BeautifulSoup(open(markup, "r").read(), 'lxml')
address = soup.find_all("address", class_={"styles_address__zrPvy"})
address = soup.address.string
streetAddressList.append(address)
with open('output2.csv', 'w') as myfile:
writer = csv.writer(myfile)
writer.writerows((titleList, streetAddressList))
当我取出 address = soup.address.string 时,它可以工作,但会提取整个元素。
【问题讨论】:
-
您可以使用
regex仅查找地址。当您已经在adress中获得了整个元素时 -
@grumpyp,现在调查一下。关于如何完成的任何指针我都在猜测'address = re.compile(r“Something”)'。不过不知道该放什么。