Невозможно отобразить вывод, когда код реализован как API с использованием flask и python - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь получить данные из 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}]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...