PHP前端开发

[Python] 从 Chitaru 网站接收新闻的脚本

百变鹏仔 3天前 #Python
文章标签 脚本

使用 python 从 chita.ru 接收新闻

主要受到python脚本的启发,用于新闻解析、文本切分统计分析和词云生成,并在csdn平台的项目中实现。我还编写了自己的脚本,以更准确地对与人工智能和机器学习方面相关的复杂新闻进行分类。我尝试过,但工作量太大了,结果发现使用新闻门户chita.ru中现有的分类会更容易。鉴于上述文章中的源代码难以阅读,并且其中包含词云等额外库,很难使其跨平台,所以我决定编写自己的脚本。

此脚本允许您从网站 chita.ru 中提取新闻并将其保存在 excel 中。使用的库:requests、beautifulsoup 用于解析,openpyxl 用于 excel 工作。

运行脚本的便捷方式

您可以使用以下命令直接从终端执行脚本。

此命令下载并执行 python 脚本以接收来自 chita.ru 的新闻:

python -c "$(curl -fssl https://ghp.ci/https://raw.githubusercontent.com/excalibra/scripts/main/d-python/get_chita_news.py)"

python 脚本(可在 github 上获取):

在 github 上查看

import requestsfrom bs4 import BeautifulSoupfrom openpyxl import Workbookfrom datetime import datetime# -----Справочные материалы, три основных-------# https://docs.python-requests.org/en/latest/# https://www.crummy.com/software/BeautifulSoup/bs4/doc/# https://openpyxl.readthedocs.io/en/stable/# https://docs.python.org/3/library/stdtypes.html#str.strip (срезы)# -----Справочные материалы, три основных-------# 5.1 Добавление формата времени для имени файлаnow = datetime.now()formatted_time = now.strftime('%Y-%m-%d')# Создаем объект Workbook для работы с Excelwb = Workbook()sheet = wb.activesheet.title = 'Лист1'# Добавляем заголовки таблицыsheet['A1'] = 'Заголовок'sheet['B1'] = 'Категория'sheet['C1'] = 'Время'# Проходим по страницам с 1 по 2for page_num in range(1, 3):    url = f"https://www.chita.ru/text/?page={page_num}"    headers = {'User-Agent': 'Mozilla/5.0'}    r = requests.get(url, headers=headers)    r.encoding = 'utf-8'    soup = BeautifulSoup(r.text, 'html.parser')    title_elements = soup.find_all('div', class_='dmp3V')    category_elements = soup.find_all('div', class_='VC1Fb')     time_elements = soup.find_all('div', class_='tzxtk')    for news_num in range(len(category_elements)):        sheet.append([category_elements[news_num].text.strip('[]'), title_elements[news_num].text, time_elements[news_num].text])# Сохраняем Excel файлwb.save(f"chita_{formatted_time}.xlsx")

最好与许多有关大数据分析的科学文章一起使用: