$$$$$$$\ $$\ $$\ $$$$$$\ $$\ $$\
$$ __$$\ \__| \__| $$ __$$\ \__| $$ |
$$ | $$ |$$$$$$\ $$$$$$$\ $$\ $$$$$$$\ $$\ $$ / \__| $$$$$$$\ $$$$$$\ $$\ $$$$$$\$$$$$$\ $$$$$$$\
$$$$$$$ |\____$$\ $$ __$$\ $$ |$$ __$$\ $$ | \$$$$$$\ $$ _____|$$ __$$\ $$ |$$ __$$\_$$ _| $$ _____|
$$ ____/ $$$$$$$ |$$ | $$ |$$ |$$ | $$ |$$ | \____$$\ $$ / $$ | \__|$$ |$$ / $$ |$$ | \$$$$$$\
$$ | $$ __$$ |$$ | $$ |$$ |$$ | $$ |$$ | $$\ $$ |$$ | $$ | $$ |$$ | $$ |$$ |$$\ \____$$\
$$ | \$$$$$$$ |$$ | $$ |$$ |$$ | $$ |$$ | \$$$$$$ |\$$$$$$$\ $$ | $$ |$$$$$$$ |\$$$$ |$$$$$$$ |
\__| \_______|\__| \__|\__|\__| \__|\__| \______/ \_______|\__| \__|$$ ____/ \____/ \_______/
$$ |
$$ |
\__|
Весь функцонал парсинга происходит через browser manager'a. Для начала создайте его.
from driver import BrowserManager
bm = BrowserManager()
Метод принимает название сообществ, и необязательное поле limit
- ограничение кол-во сообществ, так как сообществ может быть очень много.
communities = bm.get_communities("На приеме у Шевцова", limit=30)
На выходе список с ссылками на сообщества.
Метод принимает ссылку на сообщество, и необязательное поле limit
- ограничение кол-во постов, так как постов в сообществе может быть очень много.
posts_urls = bm.get_posts(communities[0], limit=30)
На выходе список с ссылками на посты.
На вход принимает ссылку на пост.
comments = bm.get_comments(posts_urls[0])
На выходе список со словорями, в которых id коментария, ссылка на автора, текст коментария.
Данный модуль позволяет загружать списки постов, коментариев и сообществ не все сразу, а частично, по мере их надобности. Это реализовано через генераторы, которые возвращяют обьект при каждом запросе к ним и загружают их через AJAX если обьекты закончатся.
Для загрузки объектов нужно создать browser manager'a.
from driver import CustomBrowserManager
bm2 = CustomBrowserManager()
Для загрузки сообществ нужно использовать генератор bm2.communities()
. Он принимает текст поиска сообществ и необязательный параметр limit
- ограничение по кол-во собществ.
for i in bm2.communities('На приеме у Шевцова', limit=2):
print(i)
Для загрузки постов нужно использовать генератор bm2.posts()
. Он принимает ссылку на сообщество и необязательный параметр limit
- ограничение по кол-во собществ.
for i in bm2.posts('https://vk.com/itpedia_youtube', limit=12):
print(i)
Для загрузки постов нужно использовать генератор bm2.comments()
. Он принимает ссылку на сообщество и необязательный параметр limit
- ограничение по кол-во собществ.
for i in bm2.comments('https://vk.com/itpedia_youtube?w=wall-88245281_8026843', limit=12):
print(i)
Если в методах не указан обязательный параметр limit
, то обьекты будут дозагружатся все, пока не закончатся.