twExtract changes for user getting
This commit is contained in:
parent
1a4bfab98f
commit
b0bf814a88
@ -4,14 +4,15 @@ import json
|
|||||||
import requests
|
import requests
|
||||||
import re
|
import re
|
||||||
from . import twExtractError
|
from . import twExtractError
|
||||||
|
bearer="Bearer AAAAAAAAAAAAAAAAAAAAAPYXBAAAAAAACLXUNDekMxqa8h%2F40K4moUkGsoc%3DTYfbDKbT3jJPCEVnMYqilB28NHfOPqkca3qaAxGfsyKCs0wRbw"
|
||||||
guestToken=None
|
guestToken=None
|
||||||
pathregex = r"\w{1,15}\/(status|statuses)\/(\d{2,20})"
|
pathregex = r"\w{1,15}\/(status|statuses)\/(\d{2,20})"
|
||||||
userregex = r"^https?:\/\/(?:www\.)?twitter\.com\/(?:#!\/)?@?([^/?#]*)(?:[?#/].*)?$"
|
userregex = r"^https?:\/\/(?:www\.)?twitter\.com\/(?:#!\/)?@?([^/?#]*)(?:[?#/].*)?$"
|
||||||
|
userIDregex = r"\/i\/user\/(\d+)"
|
||||||
def getGuestToken():
|
def getGuestToken():
|
||||||
global guestToken
|
global guestToken
|
||||||
if guestToken is None:
|
if guestToken is None:
|
||||||
r = requests.post("https://api.twitter.com/1.1/guest/activate.json", headers={"Authorization":"Bearer AAAAAAAAAAAAAAAAAAAAAPYXBAAAAAAACLXUNDekMxqa8h%2F40K4moUkGsoc%3DTYfbDKbT3jJPCEVnMYqilB28NHfOPqkca3qaAxGfsyKCs0wRbw"})
|
r = requests.post("https://api.twitter.com/1.1/guest/activate.json", headers={"Authorization":bearer})
|
||||||
guestToken = json.loads(r.text)["guest_token"]
|
guestToken = json.loads(r.text)["guest_token"]
|
||||||
return guestToken
|
return guestToken
|
||||||
|
|
||||||
@ -40,7 +41,7 @@ def extractStatus(url):
|
|||||||
# get guest token
|
# get guest token
|
||||||
guestToken = getGuestToken()
|
guestToken = getGuestToken()
|
||||||
# get tweet
|
# get tweet
|
||||||
tweet = requests.get("https://api.twitter.com/1.1/statuses/show/" + twid + ".json?tweet_mode=extended&cards_platform=Web-12&include_cards=1&include_reply_count=1&include_user_entities=0", headers={"Authorization":"Bearer AAAAAAAAAAAAAAAAAAAAAPYXBAAAAAAACLXUNDekMxqa8h%2F40K4moUkGsoc%3DTYfbDKbT3jJPCEVnMYqilB28NHfOPqkca3qaAxGfsyKCs0wRbw", "x-guest-token":guestToken})
|
tweet = requests.get("https://api.twitter.com/1.1/statuses/show/" + twid + ".json?tweet_mode=extended&cards_platform=Web-12&include_cards=1&include_reply_count=1&include_user_entities=0", headers={"Authorization":bearer, "x-guest-token":guestToken})
|
||||||
output = tweet.json()
|
output = tweet.json()
|
||||||
if "errors" in output:
|
if "errors" in output:
|
||||||
# pick the first error and create a twExtractError
|
# pick the first error and create a twExtractError
|
||||||
@ -51,14 +52,22 @@ def extractStatus(url):
|
|||||||
return extractStatus_fallback(url)
|
return extractStatus_fallback(url)
|
||||||
|
|
||||||
def extractUser(url):
|
def extractUser(url):
|
||||||
|
useId=True
|
||||||
|
m = re.search(userIDregex, url)
|
||||||
|
if m is None:
|
||||||
m = re.search(userregex, url)
|
m = re.search(userregex, url)
|
||||||
if m is None:
|
if m is None:
|
||||||
raise twExtractError.TwExtractError(400, "Invalid URL")
|
raise twExtractError.TwExtractError(400, "Invalid URL")
|
||||||
|
else:
|
||||||
|
useId=False
|
||||||
screen_name = m.group(1)
|
screen_name = m.group(1)
|
||||||
# get guest token
|
# get guest token
|
||||||
guestToken = getGuestToken()
|
guestToken = getGuestToken()
|
||||||
# get user
|
# get user
|
||||||
user = requests.get(f"https://api.twitter.com/1.1/users/show.json?screen_name={screen_name}",headers={"Authorization":"Bearer AAAAAAAAAAAAAAAAAAAAAPYXBAAAAAAACLXUNDekMxqa8h%2F40K4moUkGsoc%3DTYfbDKbT3jJPCEVnMYqilB28NHfOPqkca3qaAxGfsyKCs0wRbw", "x-guest-token":guestToken})
|
if not useId:
|
||||||
|
user = requests.get(f"https://api.twitter.com/1.1/users/show.json?screen_name={screen_name}",headers={"Authorization":bearer, "x-guest-token":guestToken})
|
||||||
|
else:
|
||||||
|
user = requests.get(f"https://api.twitter.com/1.1/users/show.json?user_id={screen_name}",headers={"Authorization":bearer, "x-guest-token":guestToken})
|
||||||
output = user.json()
|
output = user.json()
|
||||||
if "errors" in output:
|
if "errors" in output:
|
||||||
# pick the first error and create a twExtractError
|
# pick the first error and create a twExtractError
|
||||||
@ -66,6 +75,9 @@ def extractUser(url):
|
|||||||
raise twExtractError.TwExtractError(error["code"], error["message"])
|
raise twExtractError.TwExtractError(error["code"], error["message"])
|
||||||
return output
|
return output
|
||||||
|
|
||||||
|
#def extractUserByID(id):
|
||||||
|
|
||||||
|
|
||||||
def lambda_handler(event, context):
|
def lambda_handler(event, context):
|
||||||
if ("queryStringParameters" not in event):
|
if ("queryStringParameters" not in event):
|
||||||
return {
|
return {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user