我试图抓住所有带有某个div标签的链接,我可以完成。问题是每个链接都显示在一个新行中。例如:
Home
Wire Wheels
Crimped
我希望它显示Home,Wire Wheels,Crimped
这可能吗?
这是我用来获取数据的python代码:
for crumbs in soup.find('div',{"id":"breadcrumbs"}).find_all('a'):
crumbs2 = crumbs.text
print(crumbs2)
答案 0 :(得分:1)
使用.get_text()
直接获取已删除的文本,str.join()
加入字符串:
",".join([crumbs.get_text(strip=True)
for crumbs in soup.find('div',{"id":"breadcrumbs"}).find_all('a')])
另请注意,soup.find('div',{"id":"breadcrumbs"}).find_all('a')
可以简化为soup.select("#breadcrumbs a")
。
答案 1 :(得分:1)
您可以指定要打印的其他行结尾。默认值为os.linesep
:
crumbs = list(soup.find('div',{"id":"breadcrumbs"}).find_all('a'))
for ind, crumb in enumerate(crumbs):
if ind < len(crumbs) - 1:
ending = {'end': ', '}
else:
ending = {}
print(crumb.text, **ending)
话虽如此,你肯定应该使用@ alecxe的回答。