fix get feed
This commit is contained in:
parent
861fa49681
commit
0083bfbb32
116
run.py
116
run.py
@ -12,9 +12,6 @@ from xml.dom.minidom import parseString
|
|||||||
import urllib as urllib
|
import urllib as urllib
|
||||||
import send_telegram
|
import send_telegram
|
||||||
import time
|
import time
|
||||||
# try:
|
|
||||||
# import urllib.request as urllib
|
|
||||||
# except ImportError:
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from instagram_private_api import (
|
from instagram_private_api import (
|
||||||
@ -30,8 +27,6 @@ except ImportError:
|
|||||||
ClientCookieExpiredError, ClientLoginRequiredError,
|
ClientCookieExpiredError, ClientLoginRequiredError,
|
||||||
__version__ as client_version)
|
__version__ as client_version)
|
||||||
|
|
||||||
from instagram_private_api import ClientError
|
|
||||||
from instagram_private_api import Client
|
|
||||||
import redis
|
import redis
|
||||||
|
|
||||||
|
|
||||||
@ -111,69 +106,68 @@ def like_post(post_id):
|
|||||||
return like
|
return like
|
||||||
|
|
||||||
def latest_post(username, user_id):
|
def latest_post(username, user_id):
|
||||||
today = datetime.date.today()
|
try:
|
||||||
# today = "2019-09-13"
|
today = datetime.date.today()
|
||||||
t = time.mktime(datetime.datetime.strptime(str(today), "%Y-%m-%d").timetuple())
|
t = time.mktime(datetime.datetime.strptime(str(today), "%Y-%m-%d").timetuple())
|
||||||
t = int(t)
|
t = int(t)
|
||||||
feed = ig_client.user_feed(user_id, min_timestamp=str(t))
|
feed = ig_client.user_feed(user_id, min_timestamp=str(t))
|
||||||
f = open("feeds.json", "w")
|
f = open("feeds.json", "w")
|
||||||
f.write(json.dumps(feed))
|
f.write(json.dumps(feed))
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
for post in feed['items']:
|
for post in feed['items']:
|
||||||
list_media = []
|
list_media = []
|
||||||
# print()
|
post_id = post['id']
|
||||||
post_id = post['id']
|
pk = post['code']
|
||||||
pk = post['code']
|
k = '{}:{}:{}'.format("post", username, pk)
|
||||||
k = '{}:{}:{}'.format("post", username, pk)
|
exist = redis_client.exists(k)
|
||||||
exist = redis_client.exists(k)
|
if exist == 1:
|
||||||
if exist == 1:
|
print(pk + " Exist")
|
||||||
print(pk + " Exist")
|
continue
|
||||||
continue
|
media_type = "photo" if post['media_type'] == 1 else "video"
|
||||||
media_type = "photo" if post['media_type'] == 1 else "video"
|
if "carousel_media" in post:
|
||||||
if "carousel_media" in post:
|
carousel = True
|
||||||
carousel = True
|
for i, cs in enumerate(post['carousel_media'], start=1):
|
||||||
for i, cs in enumerate(post['carousel_media'], start=1):
|
carousel_media_type = "photo" if cs['media_type'] == 1 else "video"
|
||||||
carousel_media_type = "photo" if cs['media_type'] == 1 else "video"
|
if carousel_media_type == 'photo':
|
||||||
if carousel_media_type == 'photo':
|
list_media.append({
|
||||||
list_media.append({
|
"caption":"Photo #{}".format(i),
|
||||||
"caption":"Photo #{}".format(i),
|
"type":"photo",
|
||||||
"type":"photo",
|
"media":cs['image_versions2']['candidates'][0]['url']
|
||||||
"media":cs['image_versions2']['candidates'][0]['url']
|
})
|
||||||
})
|
else:
|
||||||
else:
|
list_media.append({
|
||||||
list_media.append({
|
"caption":"Video #{}".format(i),
|
||||||
"caption":"Video #{}".format(i),
|
"type":"video",
|
||||||
"type":"video",
|
"media":cs['video_versions'][0]['url']
|
||||||
"media":cs['video_versions'][0]['url']
|
})
|
||||||
})
|
|
||||||
else:
|
|
||||||
carousel = False
|
|
||||||
if media_type == 'photo':
|
|
||||||
url_media = post['image_versions2']['candidates'][0]['url']
|
|
||||||
else:
|
else:
|
||||||
url_media = post['video_versions'][0]['url']
|
carousel = False
|
||||||
post_url = "https://instagram.com/p/{}".format(pk)
|
if media_type == 'photo':
|
||||||
caption = "[POST] from {}\n\n{}\n\nLink: {}".format(username, post['caption']['text'], post_url)
|
url_media = post['image_versions2']['candidates'][0]['url']
|
||||||
if len(caption) > 1000:
|
else:
|
||||||
caption = caption[:1000] + '...'
|
url_media = post['video_versions'][0]['url']
|
||||||
|
post_url = "https://instagram.com/p/{}".format(pk)
|
||||||
|
caption = "[POST] from {}\n\n{}\n\nLink: {}".format(username, post['caption']['text'], post_url)
|
||||||
|
if len(caption) > 1000:
|
||||||
|
caption = caption[:1000] + '...'
|
||||||
|
|
||||||
|
like = like_post(post_id)
|
||||||
|
|
||||||
like = like_post(post_id)
|
print(pk + " Sending...")
|
||||||
|
if carousel is True:
|
||||||
print(pk + " Sending...")
|
send_telegram.send_media_group(caption=caption, media=list_media)
|
||||||
if carousel is True:
|
else:
|
||||||
send_telegram.send_media_group(caption=caption, media=list_media)
|
send_telegram.telegram_bot_send_media(fileType=media_type, url=url_media, caption=caption)
|
||||||
else:
|
print(pk + " OK")
|
||||||
send_telegram.telegram_bot_send_media(fileType=media_type, url=url_media, caption=caption)
|
redis_client.setex(k, 86400, "True")
|
||||||
print(pk + " OK")
|
except Exception as e:
|
||||||
redis_client.setex(k, 86400, "True")
|
print(e)
|
||||||
return
|
|
||||||
|
|
||||||
def latest_stories(username, user_id):
|
def latest_stories(username, user_id):
|
||||||
feed = ig_client.user_story_feed(user_id)
|
feed = ig_client.user_story_feed(user_id)
|
||||||
if feed['reel'] is None:
|
if feed['reel'] is None:
|
||||||
print('No Update')
|
print('No Update')
|
||||||
# exit(9)
|
|
||||||
return False
|
return False
|
||||||
taken_at = True
|
taken_at = True
|
||||||
feed_json = feed['reel']['items']
|
feed_json = feed['reel']['items']
|
||||||
@ -240,8 +234,6 @@ def download_user(user, attempt=0):
|
|||||||
if "story" in sys.argv:
|
if "story" in sys.argv:
|
||||||
print("[=] Fetch STORY [=]")
|
print("[=] Fetch STORY [=]")
|
||||||
latest_stories(user, user_id)
|
latest_stories(user, user_id)
|
||||||
|
|
||||||
# print(user)
|
|
||||||
return user
|
return user
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(e)
|
print(e)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user