Package: vkimexp
VK conversations exporter.MotivationNecessity to export VK conversations completely (with all attachments), not just the plain text (that's what official data export tool does).FeaturesSuitable for regular dialogs as well as group conversations.Supported attachment types: photos/images, voice messages, stickers.The history is exported in two formats: plain text and HTML with pagination.All supported attachments are downloaded and referenced from HTML pages as local resources using relative paths, which allows to browse the exported history in offline mode (without Internet connection).Automatic authentication withvk.comusing cookies loaded from a specified browser. Supported browsers (in a format accepted by--browseroption):chrome,firefox,safari,chromium,edge,opera,vivaldi,brave.Installationpipx install vkimexpUsagevkimexp [OPTIONS] PEERS...PEER should be VK ID of a person or a conversation in question (several PEERs can be provided at once). To find PEER of a person, open this page:https://vk.com/imand select the required dialog, and then his/her VK ID will appear in the address bar like this:https://vk.com/im?sel=1234567890where 1234567890 is a numeric ID in question. Use this number as PEER, e.g. for a person with VK ID 1234567890 the command is:vkimexp 1234567890For group conversations there is no VK ID in the URL, as they are identified differently, by their index. Nevertheless, take this number (together with 'c'!) and provide it as is, the application will figure out VK ID of a conversation by itself:https://vk.com/im?sel=c195  =>  vkimexp c195Options-b, --browser NAME  Browser to load cookies from (process is automatic). [default: chrome]
-v, --verbose       Print more details.
--help              Show this message and exit.RunningResultTroubleshootingCannot authenticate the appMake sure you are logged intovk.combefore launching the app. It's recommended to open or refreshvk.compage just before the start to ensure that cookies are fresh (if they expire, the export will fail to start).Cannot authenticate the app (Gnome environment)Some system configurations require to set up an environment variableXDG_CURRENT_DESKTOP=GNOMEfor the app, so that the cookie extraction library could correctly identify the system keyring and, subsequently, to decrypt the cookies stored by browser. That can solve the cookie loading issue for Ubuntu 20, for example.Cannot authenticate the app with Google ChromeTry Firefox.Cannot authenticate the app with FirefoxTry Google Chrome.Either of these almost certainly will work (and sometimes they both work*gasp*).Cannot authenticate the app with any browserRun the application with-voption for more verbose output and see if the debugging information contains any unexpected exceptions or potenital clues. If all attempts to figure out what's going on are ineffective, feel free toopen an issue.  Attaching the verbose output beforehand could simplify the task incredibly.TODOsOption that disables cookie autoload and lets the user to specify all cookies manually.A way to customize output directory.--color/--no-colorformatting control options.Parallel (multi-threaded) attachment downloads.Options to select which attachment types to process/ignore.GitHub Actions packaging automation.Changelog1.2.0dec 23Two extraction methods in a conjunction instead of one.Embedded CSS styles.1.1.0dec 23Full rewrite.1.0.0oct 23Prototype.