我正在嘗試從下面的代碼(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
提交
取消