Я пытаюсь получить заголовки статей из новостей Yahoo и упорядочить их в файле json.Когда я записываю данные в файл json, мне кажется, что их сложно читать.Как бы я организовал данные, либо после дампа, либо с самого начала?
Это для веб-проекта, где я должен получить главные новостные статьи и их тела и экспортировать их в файл json, который можетзатем отправьте в чужую программу.Сейчас я просто работаю над получением заголовков с финансовой страницы Yahoo.
import requests
import json
from bs4 import BeautifulSoup
#Getting webpage
page = requests.get("https://finance.yahoo.com/")
soup = BeautifulSoup(page.content, 'html.parser') #creating instance of class to parse the page
#Getting article title
title = soup.find_all(class_="Mb(5px)")
desc = soup.find_all(class_="Fz(14px) Lh(19px) Fz(13px)--sm1024 Lh(17px)-- sm1024 LineClamp(3,57px) LineClamp(3,51px)--sm1024 M(0)")
#Getting article bodies
page2 = requests.get("https://finance.yahoo.com/news/warren-buffett-suggests-read-19th-204800450.html")
soup2 = BeautifulSoup(page2.content, 'html.parser')
body = soup.find_all(class_="canvas-atom canvas-text Mb(1.0em) Mb(0)--sm
Mt(0.8em)--sm", id="15")
#Organizing data for export
data = {'title1': title[0].get_text(),
'title2': title[1].get_text(),
'title3': title[2].get_text(),
'title4': title[3].get_text(),
'title5': title[4].get_text()}
#Exporting the data to results.json
with open("results.json", "w") as write_file:
json.dump(str(data), write_file)
Это то, что заканчивается записью в файле json (на момент написания этого поста):
"{'title1': 'These US taxpayers face higher payments thanks to new law',
'title2': 'These 12 Stocks Are the Best Values in 2019, According to Pros
Who\u2019ve Outsmarted the Market', '\\ntitle3': 'The Best Move You Can
Make With Your Investments in 2019, According to 5 Market Professionals',
'title4': 'The auto industry said goodbye to a lot of cars in 2018',
'title5': '7 Stock Picks From Top-Rated Wall Street Analysts'}"
Я хотел бы написать код, чтобы каждый заголовок статьи отображался в отдельной строке и удалялся случайные символы, появляющиеся посередине.