Перейти к содержанию

Планирование работы проекта

Содержимое файла www-news-com.py для парсинга сайта.

import json
import requests
from bs4 import BeautifulSoup

seed = "https://www.news.com/"


def get_page_content(link):
    page = requests.get(link)
    soup = BeautifulSoup(page.content, "html.parser")
    page_info = {
        "url": link,  # ссылка на новость
        "title": "",  # заголовок новости
        "img": "",  # ссылка на изображение
        "body": "",  # текст новости
        "author": "",  # автор новости (если указывается)
        "date": "",  # дата публикации новости в формате YYYY-MM-DD
        "time": "",  # время публикации новости в формате HH:MM
    }

    # ...

    return page_info


def get_links():
    r = requests.get(seed)
    # ...
    # ['https://www.news.com/pag1', 'https://www.news.com/pag2', ...]
    return []


def main():
    links = get_links()
    top_news = []
    for link in links:
        print(f"Обрабатывается {link}")
        info = get_page_content(link)
        top_news.append(info)

    with open("www-news-com.json", "wt") as f:
        json.dump(top_news, f)
    print("Работа завершена")

# Главная функция
if __name__ == "__main__":
    main()