为了账号安全,请及时绑定邮箱和手机立即绑定

试图获取最新消息是有效的,但它将所有这些消息写在一行中

试图获取最新消息是有效的,但它将所有这些消息写在一行中

小唯快跑啊 2022-07-12 16:06:25
我正在尝试从下面的代码(url)中的指定站点获取所有最新消息,这是可行的,我从该站点获取最新消息,并且我可以成功地将这些消息打印在屏幕上,其中的每一条消息都在其中自己的线。import requestsfrom bs4 import BeautifulSoupimport osurl = 'https://www.ljportal.com/'headers = #my headers herepage = requests.get(url, headers=headers)soup = BeautifulSoup(page.text, 'lxml')with open("news.txt", "a") as f:    for i in soup.find_all("h3"):        print(i.text)但是我的问题是,当我尝试将其写入文件时,它会将所有新闻放在一行中,而我不知道如何在每一行中获取它们。我只是替换print(i.text)为f.write(i.text).
查看完整描述

1 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

我只是用 f.write(i.text) 替换 print(i.text)。

默认情况下,print在它打印的任何内容之后添加一个换行符(它还会将所有内容以及一堆其他内容字符串化)。IOBase.write只写你给它的任何东西而不做修改。

您可以使用 继续使用print并将其输出发送到您的文件print(i.text, file=f),或者您可以在i.textf.write(i.text + '\n')f.write(i.text); f.write('\n').


查看完整回答
反对 回复 2022-07-12
  • 1 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号