跳转至内容
0
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
  • 小卖铺
  • 搜索
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
  • 小卖铺
皮肤
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Zephyr)
  • 不使用皮肤
折叠
色色JIKE社区

清华大学免费开放“文泉学堂”,高质量书籍免费看

已定时 已固定 已锁定 已移动 活动优惠
5 帖子 5 发布者 752 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • R 离线
    R 离线
    rgtest
    🍌
    写于 最后由 编辑
    #1

    文泉学堂知识库收录了清华大学出版社,近10年的正版电子课程和书籍

    https://lib-nuanxin.wqxuetang.com

    目前没有很好的下载办法,每页都加密了。
    可以采用截图的笨办法。
    期待大神出脚本

    1 条回复 最后回复
    0
    • 2 离线
      2 离线
      2nature
      🍌
      写于 最后由 编辑
      #2
      '''
      python 3.6, 3.7
       
      pip install httpx loguru PyJWT
       
      # 文泉学堂
      # 3208943 ('Python+TensorFlow机器学习实战', '248') 第1页
      python fetch_png.py
       
      # 第10页
      python fetch_png.py 3208943 10
       
      '''
       
      # from typing import Union, Tuple
      from pathlib import Path
      from time import time
      import json
      import httpx
      import jwt
      from loguru import logger
       
      JWT_SECRET = 'g0NnWdSE8qEjdMD8a1aq12qEYphwErKctvfd3IktWHWiOBpVsgkecur38aBRPn2w'
      SESS = httpx.Client()
      URL = 'https://lib-nuanxin.wqxuetang.com'
      SESS.get(URL)
       
       
      # def gen_jwt_key(self):
      def gen_jwt_key(bookid):
          ''' jwt key for bookid '''
          # url = "https://lib-nuanxin.wqxuetang.com/v1/read/k?bid=%s" % bookid
          url = f'{URL}/v1/read/k?bid={bookid}'
          # r = self.session.get(url, timeout=5)
       
          # r = SESS.get(url, timeout=5)
          # j = json.loads(r.text)
       
          try:
              resp = SESS.get(url)
              resp.raise_for_status()
          except Exception as exc:
              logger.warning(exc)
              return str(exc)
       
          try:
              jdata = resp.json()
          except Exception as exc:
              logger.warning(exc)
              jdata = {}
       
          res = jdata.get('data')
          if res is None:
              raise Exception('returned None, something is not right...')
       
          return res
       
       
      # def gen_jwt_token(self, page):
      def gen_jwt_token(bookid, page=1):
          ''' gen jwt token '''
          cur_time = time()
          jwtkey = gen_jwt_key(bookid)
          jwttoken = jwt.encode({
              "p": page,
              "t": int(cur_time)*1000,
              "b": str(bookid),
              "w": 1000,
              # "k": json.dumps(self.jwtkey),
              "k": json.dumps(jwtkey),
              "iat": int(cur_time)
          }, JWT_SECRET, algorithm='HS256').decode('ascii')
          return jwttoken
       
       
      # def bookinfo(self):
      def bookinfo(bookid):
          ''' bookinfo '''
          # url = f"https://lib-nuanxin.wqxuetang.com/v1/read/initread?bid={self.bookid}"  # noqa
          url = f'{URL}/v1/read/initread?bid={bookid}'
          # r = self.session.get(url)
       
          req = httpx.models.Request('GET', URL)
          try:
              resp = SESS.get(url)
              resp.raise_for_status()
          except Exception as exc:
              logger.warning(exc)
              resp = httpx.Response(status_code=499, request=req, content=str(exc).encode())  # noqa
       
          try:
              jdata = resp.json()
          except Exception as exc:
              logger.warning(exc)
              jdata = {}
       
          # info = json.loads(r.text)
       
          # data = info['data']
          # return data['name'], data['canreadpages']
       
          data = jdata.get('data')
       
          if data is None:
              raise Exception('returned None, something is not right...')
       
          bookinfo.jdata = jdata
       
          return data.get('name'), data.get('canreadpages')
       
       
      # async def download_img(self, page, task_id):
      def fetch_png(bookid, page=1):
          ''' download booid page img '''
          token = gen_jwt_token(bookid, page)
          url = f'{URL}/page/img/{bookid}/{page}?k={token}'
          headers = {
              'referer': f'{URL}/read/pdf/{bookid}',
              'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'  # noqa
          }
       
          req = httpx.models.Request('GET', URL)
       
          try:
              resp = SESS.get(url, headers=headers)
              resp.raise_for_status()
          except Exception as exc:
              logger.warning(exc)
              resp = httpx.Response(status_code=499, request=req, content=str(exc).encode())  # noqa
       
          fetch_png.resp = resp
       
          try:
              res = resp.content
          except Exception as exc:
              logger.warning(exc)
              return b''
       
          return res
       
       
      def main():
          ''' main '''
          import os
          import sys
       
          bookid = 3208943
          if not sys.argv[1:]:
              logger.info(' Provide at least a bookid.')
              logger.info(' Using %s to test ' % bookid)
          else:
              try:
                  bookid = sys.argv[1]
              except Exception as exc:
                  logger.warning(exc)
       
          page = 1
          if not sys.argv[2:]:
              logger.info(' Provide a page number.')
              logger.info(' Using %s to test ' % page)
          else:
              try:
                  bookid = sys.argv[2]
              except Exception as exc:
                  logger.warning(exc)
          logger.info(f' Fetchiing {bookid} {bookinfo(bookid)} page: {page}')
       
          res = fetch_png(bookid, page)
       
          filename = f'{bookid}-{page:03d}.png'
       
          count = 0
          while Path(filename).exists():
              count += 1
              filename = f'{bookid}-{page:03d}-{count}.png'
              if count > 4:
                  break
          else:
              logger.warning(f' Possibly overwriting {filename}')
       
          Path(filename).write_bytes(res)
          logger.info(f'{filename} saved.')
       
          if sys.platform in ['win32']:
              os.startfile(f'{filename}')  # type: ignore
       
       
      if __name__ == '__main__':
          main()
      
      我是小马甲~M T jonneyJ 3 条回复 最后回复
      0
      • 2 2nature
        '''
        python 3.6, 3.7
         
        pip install httpx loguru PyJWT
         
        # 文泉学堂
        # 3208943 ('Python+TensorFlow机器学习实战', '248') 第1页
        python fetch_png.py
         
        # 第10页
        python fetch_png.py 3208943 10
         
        '''
         
        # from typing import Union, Tuple
        from pathlib import Path
        from time import time
        import json
        import httpx
        import jwt
        from loguru import logger
         
        JWT_SECRET = 'g0NnWdSE8qEjdMD8a1aq12qEYphwErKctvfd3IktWHWiOBpVsgkecur38aBRPn2w'
        SESS = httpx.Client()
        URL = 'https://lib-nuanxin.wqxuetang.com'
        SESS.get(URL)
         
         
        # def gen_jwt_key(self):
        def gen_jwt_key(bookid):
            ''' jwt key for bookid '''
            # url = "https://lib-nuanxin.wqxuetang.com/v1/read/k?bid=%s" % bookid
            url = f'{URL}/v1/read/k?bid={bookid}'
            # r = self.session.get(url, timeout=5)
         
            # r = SESS.get(url, timeout=5)
            # j = json.loads(r.text)
         
            try:
                resp = SESS.get(url)
                resp.raise_for_status()
            except Exception as exc:
                logger.warning(exc)
                return str(exc)
         
            try:
                jdata = resp.json()
            except Exception as exc:
                logger.warning(exc)
                jdata = {}
         
            res = jdata.get('data')
            if res is None:
                raise Exception('returned None, something is not right...')
         
            return res
         
         
        # def gen_jwt_token(self, page):
        def gen_jwt_token(bookid, page=1):
            ''' gen jwt token '''
            cur_time = time()
            jwtkey = gen_jwt_key(bookid)
            jwttoken = jwt.encode({
                "p": page,
                "t": int(cur_time)*1000,
                "b": str(bookid),
                "w": 1000,
                # "k": json.dumps(self.jwtkey),
                "k": json.dumps(jwtkey),
                "iat": int(cur_time)
            }, JWT_SECRET, algorithm='HS256').decode('ascii')
            return jwttoken
         
         
        # def bookinfo(self):
        def bookinfo(bookid):
            ''' bookinfo '''
            # url = f"https://lib-nuanxin.wqxuetang.com/v1/read/initread?bid={self.bookid}"  # noqa
            url = f'{URL}/v1/read/initread?bid={bookid}'
            # r = self.session.get(url)
         
            req = httpx.models.Request('GET', URL)
            try:
                resp = SESS.get(url)
                resp.raise_for_status()
            except Exception as exc:
                logger.warning(exc)
                resp = httpx.Response(status_code=499, request=req, content=str(exc).encode())  # noqa
         
            try:
                jdata = resp.json()
            except Exception as exc:
                logger.warning(exc)
                jdata = {}
         
            # info = json.loads(r.text)
         
            # data = info['data']
            # return data['name'], data['canreadpages']
         
            data = jdata.get('data')
         
            if data is None:
                raise Exception('returned None, something is not right...')
         
            bookinfo.jdata = jdata
         
            return data.get('name'), data.get('canreadpages')
         
         
        # async def download_img(self, page, task_id):
        def fetch_png(bookid, page=1):
            ''' download booid page img '''
            token = gen_jwt_token(bookid, page)
            url = f'{URL}/page/img/{bookid}/{page}?k={token}'
            headers = {
                'referer': f'{URL}/read/pdf/{bookid}',
                'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'  # noqa
            }
         
            req = httpx.models.Request('GET', URL)
         
            try:
                resp = SESS.get(url, headers=headers)
                resp.raise_for_status()
            except Exception as exc:
                logger.warning(exc)
                resp = httpx.Response(status_code=499, request=req, content=str(exc).encode())  # noqa
         
            fetch_png.resp = resp
         
            try:
                res = resp.content
            except Exception as exc:
                logger.warning(exc)
                return b''
         
            return res
         
         
        def main():
            ''' main '''
            import os
            import sys
         
            bookid = 3208943
            if not sys.argv[1:]:
                logger.info(' Provide at least a bookid.')
                logger.info(' Using %s to test ' % bookid)
            else:
                try:
                    bookid = sys.argv[1]
                except Exception as exc:
                    logger.warning(exc)
         
            page = 1
            if not sys.argv[2:]:
                logger.info(' Provide a page number.')
                logger.info(' Using %s to test ' % page)
            else:
                try:
                    bookid = sys.argv[2]
                except Exception as exc:
                    logger.warning(exc)
            logger.info(f' Fetchiing {bookid} {bookinfo(bookid)} page: {page}')
         
            res = fetch_png(bookid, page)
         
            filename = f'{bookid}-{page:03d}.png'
         
            count = 0
            while Path(filename).exists():
                count += 1
                filename = f'{bookid}-{page:03d}-{count}.png'
                if count > 4:
                    break
            else:
                logger.warning(f' Possibly overwriting {filename}')
         
            Path(filename).write_bytes(res)
            logger.info(f'{filename} saved.')
         
            if sys.platform in ['win32']:
                os.startfile(f'{filename}')  # type: ignore
         
         
        if __name__ == '__main__':
            main()
        
        我是小马甲~M 在线
        我是小马甲~M 在线
        我是小马甲~
        🤫
        写于 最后由 编辑
        #3

        @2nature 厉害了!

        唐宋元明清,连排小工兵!

        1 条回复 最后回复
        0
        • 2 2nature
          '''
          python 3.6, 3.7
           
          pip install httpx loguru PyJWT
           
          # 文泉学堂
          # 3208943 ('Python+TensorFlow机器学习实战', '248') 第1页
          python fetch_png.py
           
          # 第10页
          python fetch_png.py 3208943 10
           
          '''
           
          # from typing import Union, Tuple
          from pathlib import Path
          from time import time
          import json
          import httpx
          import jwt
          from loguru import logger
           
          JWT_SECRET = 'g0NnWdSE8qEjdMD8a1aq12qEYphwErKctvfd3IktWHWiOBpVsgkecur38aBRPn2w'
          SESS = httpx.Client()
          URL = 'https://lib-nuanxin.wqxuetang.com'
          SESS.get(URL)
           
           
          # def gen_jwt_key(self):
          def gen_jwt_key(bookid):
              ''' jwt key for bookid '''
              # url = "https://lib-nuanxin.wqxuetang.com/v1/read/k?bid=%s" % bookid
              url = f'{URL}/v1/read/k?bid={bookid}'
              # r = self.session.get(url, timeout=5)
           
              # r = SESS.get(url, timeout=5)
              # j = json.loads(r.text)
           
              try:
                  resp = SESS.get(url)
                  resp.raise_for_status()
              except Exception as exc:
                  logger.warning(exc)
                  return str(exc)
           
              try:
                  jdata = resp.json()
              except Exception as exc:
                  logger.warning(exc)
                  jdata = {}
           
              res = jdata.get('data')
              if res is None:
                  raise Exception('returned None, something is not right...')
           
              return res
           
           
          # def gen_jwt_token(self, page):
          def gen_jwt_token(bookid, page=1):
              ''' gen jwt token '''
              cur_time = time()
              jwtkey = gen_jwt_key(bookid)
              jwttoken = jwt.encode({
                  "p": page,
                  "t": int(cur_time)*1000,
                  "b": str(bookid),
                  "w": 1000,
                  # "k": json.dumps(self.jwtkey),
                  "k": json.dumps(jwtkey),
                  "iat": int(cur_time)
              }, JWT_SECRET, algorithm='HS256').decode('ascii')
              return jwttoken
           
           
          # def bookinfo(self):
          def bookinfo(bookid):
              ''' bookinfo '''
              # url = f"https://lib-nuanxin.wqxuetang.com/v1/read/initread?bid={self.bookid}"  # noqa
              url = f'{URL}/v1/read/initread?bid={bookid}'
              # r = self.session.get(url)
           
              req = httpx.models.Request('GET', URL)
              try:
                  resp = SESS.get(url)
                  resp.raise_for_status()
              except Exception as exc:
                  logger.warning(exc)
                  resp = httpx.Response(status_code=499, request=req, content=str(exc).encode())  # noqa
           
              try:
                  jdata = resp.json()
              except Exception as exc:
                  logger.warning(exc)
                  jdata = {}
           
              # info = json.loads(r.text)
           
              # data = info['data']
              # return data['name'], data['canreadpages']
           
              data = jdata.get('data')
           
              if data is None:
                  raise Exception('returned None, something is not right...')
           
              bookinfo.jdata = jdata
           
              return data.get('name'), data.get('canreadpages')
           
           
          # async def download_img(self, page, task_id):
          def fetch_png(bookid, page=1):
              ''' download booid page img '''
              token = gen_jwt_token(bookid, page)
              url = f'{URL}/page/img/{bookid}/{page}?k={token}'
              headers = {
                  'referer': f'{URL}/read/pdf/{bookid}',
                  'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'  # noqa
              }
           
              req = httpx.models.Request('GET', URL)
           
              try:
                  resp = SESS.get(url, headers=headers)
                  resp.raise_for_status()
              except Exception as exc:
                  logger.warning(exc)
                  resp = httpx.Response(status_code=499, request=req, content=str(exc).encode())  # noqa
           
              fetch_png.resp = resp
           
              try:
                  res = resp.content
              except Exception as exc:
                  logger.warning(exc)
                  return b''
           
              return res
           
           
          def main():
              ''' main '''
              import os
              import sys
           
              bookid = 3208943
              if not sys.argv[1:]:
                  logger.info(' Provide at least a bookid.')
                  logger.info(' Using %s to test ' % bookid)
              else:
                  try:
                      bookid = sys.argv[1]
                  except Exception as exc:
                      logger.warning(exc)
           
              page = 1
              if not sys.argv[2:]:
                  logger.info(' Provide a page number.')
                  logger.info(' Using %s to test ' % page)
              else:
                  try:
                      bookid = sys.argv[2]
                  except Exception as exc:
                      logger.warning(exc)
              logger.info(f' Fetchiing {bookid} {bookinfo(bookid)} page: {page}')
           
              res = fetch_png(bookid, page)
           
              filename = f'{bookid}-{page:03d}.png'
           
              count = 0
              while Path(filename).exists():
                  count += 1
                  filename = f'{bookid}-{page:03d}-{count}.png'
                  if count > 4:
                      break
              else:
                  logger.warning(f' Possibly overwriting {filename}')
           
              Path(filename).write_bytes(res)
              logger.info(f'{filename} saved.')
           
              if sys.platform in ['win32']:
                  os.startfile(f'{filename}')  # type: ignore
           
           
          if __name__ == '__main__':
              main()
          
          T 离线
          T 离线
          taxfvibe
          🍌
          写于 最后由 编辑
          #4

          @2nature 厉害了,高手

          Blog : https://blog.gofinall.com

          1 条回复 最后回复
          0
          • 2 2nature
            '''
            python 3.6, 3.7
             
            pip install httpx loguru PyJWT
             
            # 文泉学堂
            # 3208943 ('Python+TensorFlow机器学习实战', '248') 第1页
            python fetch_png.py
             
            # 第10页
            python fetch_png.py 3208943 10
             
            '''
             
            # from typing import Union, Tuple
            from pathlib import Path
            from time import time
            import json
            import httpx
            import jwt
            from loguru import logger
             
            JWT_SECRET = 'g0NnWdSE8qEjdMD8a1aq12qEYphwErKctvfd3IktWHWiOBpVsgkecur38aBRPn2w'
            SESS = httpx.Client()
            URL = 'https://lib-nuanxin.wqxuetang.com'
            SESS.get(URL)
             
             
            # def gen_jwt_key(self):
            def gen_jwt_key(bookid):
                ''' jwt key for bookid '''
                # url = "https://lib-nuanxin.wqxuetang.com/v1/read/k?bid=%s" % bookid
                url = f'{URL}/v1/read/k?bid={bookid}'
                # r = self.session.get(url, timeout=5)
             
                # r = SESS.get(url, timeout=5)
                # j = json.loads(r.text)
             
                try:
                    resp = SESS.get(url)
                    resp.raise_for_status()
                except Exception as exc:
                    logger.warning(exc)
                    return str(exc)
             
                try:
                    jdata = resp.json()
                except Exception as exc:
                    logger.warning(exc)
                    jdata = {}
             
                res = jdata.get('data')
                if res is None:
                    raise Exception('returned None, something is not right...')
             
                return res
             
             
            # def gen_jwt_token(self, page):
            def gen_jwt_token(bookid, page=1):
                ''' gen jwt token '''
                cur_time = time()
                jwtkey = gen_jwt_key(bookid)
                jwttoken = jwt.encode({
                    "p": page,
                    "t": int(cur_time)*1000,
                    "b": str(bookid),
                    "w": 1000,
                    # "k": json.dumps(self.jwtkey),
                    "k": json.dumps(jwtkey),
                    "iat": int(cur_time)
                }, JWT_SECRET, algorithm='HS256').decode('ascii')
                return jwttoken
             
             
            # def bookinfo(self):
            def bookinfo(bookid):
                ''' bookinfo '''
                # url = f"https://lib-nuanxin.wqxuetang.com/v1/read/initread?bid={self.bookid}"  # noqa
                url = f'{URL}/v1/read/initread?bid={bookid}'
                # r = self.session.get(url)
             
                req = httpx.models.Request('GET', URL)
                try:
                    resp = SESS.get(url)
                    resp.raise_for_status()
                except Exception as exc:
                    logger.warning(exc)
                    resp = httpx.Response(status_code=499, request=req, content=str(exc).encode())  # noqa
             
                try:
                    jdata = resp.json()
                except Exception as exc:
                    logger.warning(exc)
                    jdata = {}
             
                # info = json.loads(r.text)
             
                # data = info['data']
                # return data['name'], data['canreadpages']
             
                data = jdata.get('data')
             
                if data is None:
                    raise Exception('returned None, something is not right...')
             
                bookinfo.jdata = jdata
             
                return data.get('name'), data.get('canreadpages')
             
             
            # async def download_img(self, page, task_id):
            def fetch_png(bookid, page=1):
                ''' download booid page img '''
                token = gen_jwt_token(bookid, page)
                url = f'{URL}/page/img/{bookid}/{page}?k={token}'
                headers = {
                    'referer': f'{URL}/read/pdf/{bookid}',
                    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'  # noqa
                }
             
                req = httpx.models.Request('GET', URL)
             
                try:
                    resp = SESS.get(url, headers=headers)
                    resp.raise_for_status()
                except Exception as exc:
                    logger.warning(exc)
                    resp = httpx.Response(status_code=499, request=req, content=str(exc).encode())  # noqa
             
                fetch_png.resp = resp
             
                try:
                    res = resp.content
                except Exception as exc:
                    logger.warning(exc)
                    return b''
             
                return res
             
             
            def main():
                ''' main '''
                import os
                import sys
             
                bookid = 3208943
                if not sys.argv[1:]:
                    logger.info(' Provide at least a bookid.')
                    logger.info(' Using %s to test ' % bookid)
                else:
                    try:
                        bookid = sys.argv[1]
                    except Exception as exc:
                        logger.warning(exc)
             
                page = 1
                if not sys.argv[2:]:
                    logger.info(' Provide a page number.')
                    logger.info(' Using %s to test ' % page)
                else:
                    try:
                        bookid = sys.argv[2]
                    except Exception as exc:
                        logger.warning(exc)
                logger.info(f' Fetchiing {bookid} {bookinfo(bookid)} page: {page}')
             
                res = fetch_png(bookid, page)
             
                filename = f'{bookid}-{page:03d}.png'
             
                count = 0
                while Path(filename).exists():
                    count += 1
                    filename = f'{bookid}-{page:03d}-{count}.png'
                    if count > 4:
                        break
                else:
                    logger.warning(f' Possibly overwriting {filename}')
             
                Path(filename).write_bytes(res)
                logger.info(f'{filename} saved.')
             
                if sys.platform in ['win32']:
                    os.startfile(f'{filename}')  # type: ignore
             
             
            if __name__ == '__main__':
                main()
            
            jonneyJ 离线
            jonneyJ 离线
            jonney
            🍌
            写于 最后由 编辑
            #5

            @2nature 厉害👍

            1 条回复 最后回复
            0
            回复
            • 在新帖中回复
            登录后回复
            • 从旧到新
            • 从新到旧
            • 最多赞同


            Popular Topics - 热门主题
            • Cursor Pro 免费 升级 ultra 教程
              Deshen ChenC
              Deshen Chen
              1
              3
              483

            • Cursor Team 邀请链接,含20美元调用量
              3
              360hhy
              0
              4
              882

            • windsurf无限方法公开
              V
              vitta
              0
              4
              307

            • WorkBuddy 下载地址
              我是小马甲~M
              我是小马甲~
              0
              3
              160

            • 0元白嫖20GB中国移动网上大学流量包,连薅12个月!
              C
              cnfy
              0
              3
              576

            • 上海中行10元毛
              M
              mzrme
              0
              2
              110

            • 登录

            • 没有帐号? 注册

            • 搜索
            中国移动
            306 个主题
            jike早报
            244 个主题
            中国电信
            222 个主题
            滴滴出行
            186 个主题
            滴滴出行代金券
            160 个主题
            中国联通
            91 个主题
            工商银行
            69 个主题
            支付宝
            66 个主题

            133

            在线

            43.1k

            用户

            45.0k

            主题

            116.6k

            帖子
            • 第一个帖子
              最后一个帖子

            与 色色JIKE 的连接断开,我们正在尝试重连,请耐心等待