Guest User

Untitled

a guest
Feb 15th, 2025
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.36 KB | None | 0 0
  1. import requests
  2. from peewee import SqliteDatabase, Model, AutoField, TextField, IntegerField
  3. import time
  4. # Имя базы данных
  5. db = SqliteDatabase("threads.db")
  6.  
  7. # Определение модели
  8. class Post(Model):
  9. id = AutoField()
  10. post_num = IntegerField() # Автоинкрементный первичный ключ
  11. text = TextField() # Поле для текста (обязательное)
  12.  
  13. class Meta:
  14. database = db # Указываем, какую БД использовать
  15. table_name = "posts" # Явно задаем имя таблицы
  16.  
  17. # Создание таблицы (если её нет)
  18. db.connect()
  19. db.create_tables([Post])
  20.  
  21. def check_threads(i):
  22. cookies = {
  23. '_ga': 'GA1.2.1175102694.1739632392',
  24. '_gid': 'GA1.2.486053987.1739632392',
  25. '_gat': '1',
  26. 'cf_clearance': 'EMZe.oR_VFakXQz2unqClOuJrdd2l0Op94pXfKghfmY-1739632392-1.2.1.1-sG2UG3tpY2zml6Iqe20skn8XnmmZHDNPtG1QXkzcsvRp2hrUhHt43e3PMGxTV0ZD9hn6yCgbEAqB6BfjCY09OzrMAv6h9gMTytEdroAr1oBUwnmRlBhD4BovcG6xNUSZcUYR512bxuZhg5Sg2_0CCZTSGhjPpzKHq.brnhxlwNbFO1cusRDMVMkKFUrH4YqUysp.OpEPQtfG1pbeDJtH9_xTN1QbTEj4dSTSfamb8hZ77X9sZ8UwpGKp59Nb8n6bJ9EFG7oUEdGzABgJni_nxEjEa0Wcxw0sAB.vi8DV_EQ',
  27. '_ga_7NPYTX0FY3': 'GS1.2.1739632392.1.0.1739632392.0.0.0',
  28. }
  29.  
  30. headers = {
  31. 'accept': 'text/html, */*; q=0.01',
  32. 'accept-language': 'en-US,en;q=0.9',
  33. # 'cookie': '_ga=GA1.2.1175102694.1739632392; _gid=GA1.2.486053987.1739632392; _gat=1; cf_clearance=EMZe.oR_VFakXQz2unqClOuJrdd2l0Op94pXfKghfmY-1739632392-1.2.1.1-sG2UG3tpY2zml6Iqe20skn8XnmmZHDNPtG1QXkzcsvRp2hrUhHt43e3PMGxTV0ZD9hn6yCgbEAqB6BfjCY09OzrMAv6h9gMTytEdroAr1oBUwnmRlBhD4BovcG6xNUSZcUYR512bxuZhg5Sg2_0CCZTSGhjPpzKHq.brnhxlwNbFO1cusRDMVMkKFUrH4YqUysp.OpEPQtfG1pbeDJtH9_xTN1QbTEj4dSTSfamb8hZ77X9sZ8UwpGKp59Nb8n6bJ9EFG7oUEdGzABgJni_nxEjEa0Wcxw0sAB.vi8DV_EQ; _ga_7NPYTX0FY3=GS1.2.1739632392.1.0.1739632392.0.0.0',
  34. 'priority': 'u=1, i',
  35. 'referer': 'https://2ch.hk/b/',
  36. 'sec-ch-ua': '"Not A(Brand";v="8", "Chromium";v="132", "Google Chrome";v="132"',
  37. 'sec-ch-ua-mobile': '?0',
  38. 'sec-ch-ua-platform': '"Windows"',
  39. 'sec-fetch-dest': 'empty',
  40. 'sec-fetch-mode': 'cors',
  41. 'sec-fetch-site': 'same-origin',
  42. 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36',
  43. 'x-requested-with': 'XMLHttpRequest',
  44. }
  45. print(f'https://2ch.hk/b/{i}.json')
  46. response = requests.get(f'https://2ch.hk/b/{i}.json', cookies=cookies, headers=headers)
  47. if response.status_code == 200:
  48. for thread in response.json()['threads']:
  49. try:
  50. post_num = thread['posts'][0]['num']
  51. text = thread['posts'][0]['comment']
  52. post = Post.get_or_none(Post.post_num == post_num)
  53. if post is None:
  54. Post.create(post_num=post_num, text=text)
  55. print(f'{post_num} нашел новый тред')
  56. except Exception as e:
  57. print('Ошибка', e)
  58. continue
  59. return True
  60. else:
  61. return False
  62.  
  63.  
  64. while True:
  65. for i in range(1, 100):
  66. res = check_threads(i)
  67. time.sleep(180)
  68. if res is False:
  69. break
  70. time.sleep(3600)
Add Comment
Please, Sign In to add comment