instaloader.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:instaloader 作者: Thammus 项目源码 文件源码
def get_profile_posts(self, profile_metadata: Dict[str, Any]) -> Iterator[Post]:
        """Retrieve all posts from a profile."""
        profile_name = profile_metadata['user']['username']
        profile_id = int(profile_metadata['user']['id'])
        yield from (Post(self, node, profile=profile_name, profile_id=profile_id)
                    for node in profile_metadata['user']['media']['nodes'])
        has_next_page = profile_metadata['user']['media']['page_info']['has_next_page']
        end_cursor = profile_metadata['user']['media']['page_info']['end_cursor']
        while has_next_page:
            # We do not use self.graphql_node_list() here, because profile_metadata
            # lets us obtain the first 12 nodes 'for free'
            data = self.graphql_query(17888483320059182, {'id': profile_metadata['user']['id'],
                                                          'first': 200,
                                                          'after': end_cursor},
                                      'https://www.instagram.com/{0}/'.format(profile_name))
            media = data['data']['user']['edge_owner_to_timeline_media']
            yield from (Post(self, edge['node'], profile=profile_name, profile_id=profile_id)
                        for edge in media['edges'])
            has_next_page = media['page_info']['has_next_page']
            end_cursor = media['page_info']['end_cursor']
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号