Python使用BeautifulSoup将抓取的关键词转为逗号分隔文本
BeautifulSoup抓取关键词输出逗号分隔格式的解决方法
问题原因
- 原代码在循环中逐次打印单个关键词并写入文件,
print()函数默认会在输出内容末尾添加换行符,导致每个关键词单独占一行 - 单个关键词本身不存在换行符,因此对单个关键词做的
replace('\n', ',')操作没有实际效果
修正代码
# 先提取所有关键词,去除首尾空白后存入列表 keyword_list = [inp.getText().strip() for inp in soup.select('#group-keywords a')] # 用逗号+空格拼接成单个字符串 readykeywords = ', '.join(keyword_list) # 一次性写入文件 with open("tags.txt", "a") as f_out: print(readykeywords, file=f_out)
效果说明
运行后输出的tags.txt内容就会是你需要的逗号分隔单行格式:
Fast, Fresh, Line, Paper, House, Aroma
如果需要多次追加写入,每次的抓取结果会单独占一行,不会和历史内容混淆。
内容的提问来源于stack exchange,提问作者Katherine Elizabeth Kath
相关产品推荐
相关产品推荐

