{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

Парсер vc.ru

Сегодня я вам покажу парсер статьи на vc.ru.

Буду использовать beautifulsoup4,requests.

pip install beautifulsoup4 pip install requests

Теперь берем url статьи , я взял url своей статьи.Пишем легкий код:

from bs4 import BeautifulSoup import requests url = 'https://vc.ru/u/1510590-python-idea/686866-oop-v-python'#здесь может быть ваш url response = requests.get(url)#создание запроса к ссылке print(response.status_code)#если в консоли вышло число 200 идем дальше

Добавляем bs4

soup = BeautifulSoup(response.text, 'html.parser') title = soup.find('h1', class_='content-title') codes = soup.find_all('figure') texts = soup.find_all('div', class_='l-island-a')

И последнее вывод данных парсера:

print(title.get_text(strip=True)) for text in texts: print(t.get_text(strip=True)) for code in codes: print(c.get_text(strip=True))

Весь код:

from bs4 import BeautifulSoup import requests url = 'https://vc.ru/u/1510590-python-idea/686866-oop-v-python' response = requests.get(url) print(response.status_code) soup = BeautifulSoup(response.text, 'html.parser') title = soup.find('h1', class_='content-title') codes = soup.find_all('figure') texts = soup.find_all('div', class_='l-island-a') print(title.get_text(strip=True)) for text in texts: print(t.get_text(strip=True)) for code in codes: print(c.get_text(strip=True))

Ну и все конец.

0
5 комментариев
Anna Petrova

Им бы поиск нормальный сделать и фильтры. А то работает через жопу. Нихрена не найти.

Ответить
Развернуть ветку
Python Idea
Автор

Хорошо сделаем

Ответить
Развернуть ветку
Андрей Шмиг

У них же API есть

Ответить
Развернуть ветку
Python Idea
Автор

Можешь показать ссылку на API

Ответить
Развернуть ветку
Alexey Lukyanchuk

Спасибо огромное! А что так можно было?

Только в коде, есть ошибка. Или я что-то не так понял. Вот исправленная версия:
from bs4 import BeautifulSoup
import requests

url = 'https://vc.ru/u/1510590-python-idea/686866-oop-v-python'
response = requests.get(url)
print(response.status_code)

soup = BeautifulSoup(response.text, 'html.parser')
title = soup.find('h1', class_='content-title')
codes = soup.find_all('figure')
texts = soup.find_all('div', class_='l-island-a')
print(title.get_text(strip=True))
for text in texts:
print(text.get_text(strip=True))
for code in codes:
print(code.get_text(strip=True))

Ответить
Развернуть ветку
2 комментария
Раскрывать всегда