我正在尝试从下面的代码(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.text
(f.write(i.text + '\n')
或f.write(i.text); f.write('\n')
.
添加回答
举报
0/150
提交
取消