Я пытаюсь получить данные из Instagram, используя колбу для создания API, а также Selenium. Мой другой API отлично работает с той же схемой. Но этот 1 просто не показывает никакого вывода, если реализован API.
Попробуй код локально, и он работает просто отлично. он может производить вывод так, как я хочу.
Может кто-нибудь сказать мне, где мои ошибки?
Спасибо
def hashtag2(hashtag):
tags = {"data":[]}
data_tags = {'data':[]}
chrome_options = Options()
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get("https://www.instagram.com/explore/tags/test/")
inputElement = driver.find_element_by_tag_name("input")
inputElement.send_keys(hashtag)
data = driver.find_elements_by_class_name("_2_M76")
for item in data:
tag = item.find_element_by_class_name("Ap253").text
try:
post = item.find_element_by_class_name("Fy4o8").text
post = post.translate({ord(c): None for c in string.whitespace})
post = re.sub('[A-z]',"",post)
post = post.replace(",","")
post = int(post)
except(ValueError):
post = 0
tags["data"].append(
{
"tag":tag,
"total":post,
}
)
for i in range(len(tags['data'])):
if ('#' in (tags['data'][i]['tag'])) :
data_tags['data'].append(
{
'tags':tags['data'][i]['tag'],
'total':tags['data'][i]['total']
}
)
return data_tags
class instaHash(Resource):
def get(self):
parser = reqparse.RequestParser()
parser.add_argument('hashtag', type=str, help='string', required=True)
args = parser.parse_args(strict=True)
data = hashtag2(args['hashtag'])
return data
это ожидаемый результат в json dict, который я получаю локально
{'data': [{'tags': '#kursusseo', 'total': 16255}, {'tags': '#kursusseo', 'total': 16255}, {'tags': '#kursusseojakarta', 'total': 1788}, {'tags': '#kursusseo', 'total': 16255}]}