xigua_test.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # -*- coding: utf-8 -*-
  2. # @Author: wangkun
  3. # @Time: 2023/2/24
  4. import requests
  5. import string
  6. import random
  7. def random_signature():
  8. src_digits = string.digits # string_数字
  9. src_uppercase = string.ascii_uppercase # string_大写字母
  10. src_lowercase = string.ascii_lowercase # string_小写字母
  11. digits_num = random.randint(1, 6)
  12. uppercase_num = random.randint(1, 26 - digits_num - 1)
  13. lowercase_num = 26 - (digits_num + uppercase_num)
  14. password = random.sample(src_digits, digits_num) + random.sample(src_uppercase, uppercase_num) + random.sample(
  15. src_lowercase, lowercase_num)
  16. random.shuffle(password)
  17. new_password = 'AAAAAAAAAA' + ''.join(password)[10:-4] + 'AAAB'
  18. new_password_start = new_password[0:18]
  19. new_password_end = new_password[-7:]
  20. if new_password[18] == '8':
  21. new_password = new_password_start + 'w' + new_password_end
  22. elif new_password[18] == '9':
  23. new_password = new_password_start + 'x' + new_password_end
  24. elif new_password[18] == '-':
  25. new_password = new_password_start + 'y' + new_password_end
  26. elif new_password[18] == '.':
  27. new_password = new_password_start + 'z' + new_password_end
  28. else:
  29. new_password = new_password_start + 'y' + new_password_end
  30. return new_password
  31. def get_user_video(uid):
  32. signature = random_signature()
  33. url = "https://www.ixigua.com/api/videov2/author/new_video_list?"
  34. params = {
  35. 'to_user_id': uid,
  36. 'offset': '0',
  37. 'limit': '30',
  38. 'maxBehotTime': '0',
  39. 'order': 'new',
  40. 'isHome': '0',
  41. '_signature': signature,
  42. }
  43. headers = {
  44. 'referer': f'https://www.ixigua.com/home/{uid}/video/?preActiveKey=hotsoon&list_entrance=userdetail',
  45. 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41',
  46. }
  47. response = requests.get(url=url, headers=headers, params=params, verify=False)
  48. print(response.text)
  49. if __name__ == '__main__':
  50. uid = '3865480345435996'
  51. get_user_video(uid)