■ ■ ■ ■ ■ ■ ■
snscrape/modules/instagram.py
| skipped 15 lines |
16 | 16 | | content: str |
17 | 17 | | thumbnailUrl: str |
18 | 18 | | displayUrl: str |
| 19 | + | username: str |
| 20 | + | likes: int |
| 21 | + | comments: int |
| 22 | + | commentsDisabled: bool |
| 23 | + | isVideo: bool |
19 | 24 | | |
20 | 25 | | def __str__(self): |
21 | 26 | | return self.cleanUrl |
| skipped 35 lines |
57 | 62 | | def _response_to_items(self, response): |
58 | 63 | | for node in response[self._responseContainer][self._edgeXToMedia]['edges']: |
59 | 64 | | code = node['node']['shortcode'] |
60 | | - | usernameQuery = '?taken-by=' + node['node']['owner']['username'] if 'username' in node['node']['owner'] else '' |
| 65 | + | username = node['node']['owner']['username'] if 'username' in node['node']['owner'] else '' |
| 66 | + | usernameQuery = '?taken-by=' + username |
61 | 67 | | cleanUrl = f'https://www.instagram.com/p/{code}/' |
62 | 68 | | yield InstagramPost( |
63 | 69 | | cleanUrl = cleanUrl, |
| skipped 2 lines |
66 | 72 | | content = node['node']['edge_media_to_caption']['edges'][0]['node']['text'] if len(node['node']['edge_media_to_caption']['edges']) else None, |
67 | 73 | | thumbnailUrl = node['node']['thumbnail_src'], |
68 | 74 | | displayUrl = node['node']['display_url'], |
| 75 | + | username = username, |
| 76 | + | likes = node['node']['edge_media_preview_like']['count'], |
| 77 | + | comments = node['node']['edge_media_to_comment']['count'], |
| 78 | + | commentsDisabled = node['node']['comments_disabled'], |
| 79 | + | isVideo = node['node']['is_video'], |
69 | 80 | | ) |
70 | 81 | | |
71 | 82 | | def _check_initial_page_callback(self, r): |
| skipped 100 lines |