GithubHelp home page GithubHelp logo

selenuimvkparser's Introduction

$$$$$$$\                     $$\           $$\        $$$$$$\                      $$\           $$\               
$$  __$$\                    \__|          \__|      $$  __$$\                     \__|          $$ |              
$$ |  $$ |$$$$$$\  $$$$$$$\  $$\ $$$$$$$\  $$\       $$ /  \__| $$$$$$$\  $$$$$$\  $$\  $$$$$$\$$$$$$\    $$$$$$$\ 
$$$$$$$  |\____$$\ $$  __$$\ $$ |$$  __$$\ $$ |      \$$$$$$\  $$  _____|$$  __$$\ $$ |$$  __$$\_$$  _|  $$  _____|
$$  ____/ $$$$$$$ |$$ |  $$ |$$ |$$ |  $$ |$$ |       \____$$\ $$ /      $$ |  \__|$$ |$$ /  $$ |$$ |    \$$$$$$\  
$$ |     $$  __$$ |$$ |  $$ |$$ |$$ |  $$ |$$ |      $$\   $$ |$$ |      $$ |      $$ |$$ |  $$ |$$ |$$\  \____$$\ 
$$ |     \$$$$$$$ |$$ |  $$ |$$ |$$ |  $$ |$$ |      \$$$$$$  |\$$$$$$$\ $$ |      $$ |$$$$$$$  |\$$$$  |$$$$$$$  |
\__|      \_______|\__|  \__|\__|\__|  \__|\__|       \______/  \_______|\__|      \__|$$  ____/  \____/ \_______/ 
                                                                                       $$ |                        
                                                                                       $$ |                        
                                                                                       \__|                        

Это парсер для вк написаный на Python Selenium

Весь функцонал парсинга происходит через 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, то обьекты будут дозагружатся все, пока не закончатся.

selenuimvkparser's People

Contributors

sergiopanini avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

yaroslavs1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.