diff --git a/gallery_dl/extractor/vk.py b/gallery_dl/extractor/vk.py
index 47b9141b..bcc11793 100644
--- a/gallery_dl/extractor/vk.py
+++ b/gallery_dl/extractor/vk.py
@@ -149,17 +149,25 @@ class VkPhotosExtractor(VkExtractor):
return data
def _extract_profile(self, url):
- extr = text.extract_from(self.request(url).text)
- return {"user": {
- "name": text.unescape(extr(
- 'rel="canonical" href="https://vk.com/', '"')),
+ page = self.request(url).text
+ extr = text.extract_from(page)
+
+ user = {
+ "id" : extr('property="og:url" content="https://vk.com/id', '"'),
"nick": text.unescape(extr(
- '
', "<")).replace(" ", " "),
- "info": text.unescape(text.remove_html(extr(
- '', '", " | VK")),
+ "info": text.unescape(extr(
+ ',"activity":"', '","')).replace("\\/", "/"),
+ "name": extr('href="https://m.vk.com/', '"'),
+ }
+
+ if user["id"]:
+ user["group"] = False
+ else:
+ user["group"] = True
+ user["id"] = extr('data-from-id="', '"')
+
+ return {"user": user}
class VkAlbumExtractor(VkExtractor):
diff --git a/test/results/vk.py b/test/results/vk.py
index 9c5f530e..c2ce5849 100644
--- a/test/results/vk.py
+++ b/test/results/vk.py
@@ -18,9 +18,10 @@ __tests__ = (
"id" : r"re:\d+",
"user": {
+ "group": False,
"id" : "398982326",
"info": "Мы за Движуху! – m1ni SounD #4 [EROmusic]",
- "name": "",
+ "name": "id398982326",
"nick": "Dobrov Kurva",
},
},
@@ -33,8 +34,9 @@ __tests__ = (
"id" : r"re:\d+",
"user": {
+ "group": True,
"id" : "-165740836",
- "info": str,
+ "info": "",
"name": "cosplayinrussia",
"nick": "Косплей | Cosplay 18+",
},