Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 27.09.2021
Сообщений: 13

Парсинг habr в Python

01.10.2021, 13:04. Показов 5362. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Снова не получается


Задача - Надо парсить страницу со свежими новостям на https://habr.com/ru/all/

Вам необходимо собирать только те статьи, в которых встречается хотя бы одно требуемое ключевое слово. Эти слова определяем в начале кода в переменной, например:

KEYWORDS = [‘python’, ‘парсинг’]

Поиск вести по всей доступной preview-информации (это информация, доступная непосредственно с текущей страницы).

В итоге должен формироваться датафрейм вида: <дата> - <заголовок> - <ссылка>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.10.2021, 13:04
Ответы с готовыми решениями:

Парсинг с Python
Подскажите пожалуйста - что делать если классы\id одинаковые во многих блоках, но данные содержащиеся в них разные. Надо из каждого...

Python 2.7 парсинг JSON
В ответ на зарпрос получаю джейсон примерно такой структуры {u'count': 9306, u'offers': , u'tracking_link': u'http://crystal ...

Python парсинг JSON
Парсю файлик networks = json.load(open(&quot;json/networks.json&quot;)) for item in networks: run_network(item, item, item, appinfo)...

10
312 / 192 / 98
Регистрация: 01.05.2014
Сообщений: 522
01.10.2021, 13:24
Цитата Сообщение от vg_312 Посмотреть сообщение
Снова не получается
В каком месте?
0
0 / 0 / 0
Регистрация: 27.09.2021
Сообщений: 13
01.10.2021, 13:53  [ТС]
Хотелось бы посмотреть готовое решение, чтобы разобраться
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
01.10.2021, 13:54
vg_312, хорошая попытка, но это не так работает
1
0 / 0 / 0
Регистрация: 27.09.2021
Сообщений: 13
01.10.2021, 15:21  [ТС]
Вот мой код, но он не работает

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from bs4 import BeautifulSoup
 
KEYWORDS = ['python', 'парсинг']
 
req = requests.get('https://habr.com/ru/all/')
soup = BeautifulSoup(req.text, 'html.parser')
posts = soup.find_all('article', class_='post')
posts
 
import time
time.sleep(0.2) 
 
for post in posts:
  post_id = post.parent.attrs.get('id')
  if not post_id:
    continue
    post_id = int(post_id.split('_')[-1])
    print('post', post_id)
    hubs = post.find_all('a', class_='hub-link')
 
for post in posts:
  post_id = post.parent.attrs.get('id')
  if not post_id:
    continue
    post_id = int(post_id.split('_')[-1])
    hubs = post.find_all('a', class_='hub-link')
    for hub in hubs:
      hub_lower = hub.text.lower()
      if any([hub_lower in desired for desired in KEYWORDS]):
        title_element = post.find('a', class_='post__title_link')
    
    print(title_element.text, title_element.attrs.get('href'))
0
 Аватар для Semen-Semenich
5218 / 3466 / 1172
Регистрация: 21.03.2016
Сообщений: 8,289
01.10.2021, 17:40
Цитата Сообщение от vg_312 Посмотреть сообщение
чтобы разобраться
ну давайте разбираться. что делают в вашем коде строки 6,7,8 ?
0
0 / 0 / 0
Регистрация: 27.09.2021
Сообщений: 13
01.10.2021, 20:49  [ТС]
7 и 8 строки - очень часто сайты могут ограничивать частые запросы к себе, поэтому нужно задерживать исполнение

6 строку можно закомментить #
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
01.10.2021, 22:14
Цитата Сообщение от vg_312 Посмотреть сообщение
7 и 8 строки - очень часто сайты могут ограничивать частые запросы к себе, поэтому нужно задерживать исполнение
какое исполнение?)) твой единственный запрос выполнился в строке 3, все, больше нет запросов, не надо ничего ждать.

ты весь текст полученный таким способом (до парсинга) смотрел? там есть что тебе нужно?
0
11 / 9 / 2
Регистрация: 11.08.2021
Сообщений: 32
01.10.2021, 22:49
del
0
312 / 192 / 98
Регистрация: 01.05.2014
Сообщений: 522
01.10.2021, 23:44
Цитата Сообщение от vg_312 Посмотреть сообщение
7 и 8 строки - очень часто сайты могут ограничивать частые запросы к себе, поэтому нужно задерживать исполнение
В таком случае задержку нужно делать после выполнения запроса.
Цитата Сообщение от Welemir1 Посмотреть сообщение
твой единственный запрос выполнился в строке 3
Не выполнится - requests не импортирован.
0
0 / 0 / 0
Регистрация: 27.09.2021
Сообщений: 13
02.10.2021, 06:41  [ТС]
done сейчас

import requests
from bs4 import BeautifulSoup

что еще надо поправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.10.2021, 06:41
Помогаю со студенческими работами здесь

Python 3 парсинг таблицы
получил хтмл страницы: import urllib.request fp =...

Парсинг на Python (со скриптами JS)
Всем привет! Дали задание спарсить услуги с сайта. Нашел интересную библиотеку BeatifulSoup. Вроде бы все хорошо, все работает как надо....

Парсинг сайта habr.com
Необходимо парсить страницу со свежими статьями (вот эту) и выбирать те статьи, в которых встречается хотя бы одно из ключевых слов (эти...

Парсинг на Python
Спарсить первые два абзаца со странички http://www.pythonscraping.com/pages/warandpeace/chapter1-ru.txt с правильной кодировкой и сохранить...

Парсинг на Python
Помогите реализовать парсер, который скачивает названия категорий и ссылки на изображения по адресу https://myspar.ru/catalog/


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru