Задать вопрос
@Greem4ik

Сравнение переменных?

Подскажите пожалуйста как сделать сравнение двух переменных черех N интервал времени.
Я создал новый список и засунул туда переменную из парсера. Переменная в парсере сменилось через 2 минуты к примеру, как мне сравнить новую переменную из парсера с той что была добавлена в список 2 минуты назад?

import feedparser
import time


upwork_rss_url = 'https://www.upwork.com/ab/feed/jobs/rss?sort=recency&user_location_match=1&paging=0%3B10&api_params=1&q=&securityToken=6da89e82d7da8ae885411b27044affdc3a71a8f6b7bd5867c9b62e1c7f0ce3cb7ba1097847ae92d8a180517cfb5636ced80f02cd6ca5d0327e553c48dd37da38&userUid=646985892418633728&orgUid=646985892422828033'

feeds = feedparser.parse(upwork_rss_url)
new_job = []
for a in feeds.entries:
    t = a['title']
    new_job.append(t)

if new_job[0] == feeds['entries'][0]:
    print('New job found','\n',feeds['entries'][0]['title'])

else:
    print('No new job')

Буду рад если ктото сможет подсказать, спасибо
  • Вопрос задан
  • 174 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 4
SoreMix
@SoreMix Куратор тега Python
yellow
import feedparser
import time


upwork_rss_url = 'https://www.upwork.com/ab/feed/jobs/rss?sort=recency&user_location_match=1&paging=0%3B10&api_params=1&q=&securityToken=6da89e82d7da8ae885411b27044affdc3a71a8f6b7bd5867c9b62e1c7f0ce3cb7ba1097847ae92d8a180517cfb5636ced80f02cd6ca5d0327e553c48dd37da38&userUid=646985892418633728&orgUid=646985892422828033'
jobs = []

while True:

    feeds = feedparser.parse(upwork_rss_url)

    for job in feeds.entries:
        title = job['title']
        if title not in jobs:
            print('New job found\n', title)
            jobs.append(title)

    time.sleep(600)
Ответ написан
Комментировать
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Не смотря на то, что товарищи выше уже наваяли ответ, тоже опубликую своё творение. Пусть будет.
import feedparser
import time

upwork_rss_url = 'https://www.upwork.com/ab/feed/jobs/rss?sort=recency&user_location_match=1&paging=0%3B10&api_params=1&q=&securityToken=6da89e82d7da8ae885411b27044affdc3a71a8f6b7bd5867c9b62e1c7f0ce3cb7ba1097847ae92d8a180517cfb5636ced80f02cd6ca5d0327e553c48dd37da38&userUid=646985892418633728&orgUid=646985892422828033'

sleeptime = 3  # seconds
old_job = set()

while True:
    no_new_job = True
    feeds = feedparser.parse(upwork_rss_url)
    for a in feeds.entries:
        new_job = a['title']
        if new_job not in old_job:
            print('new job found:\t{}'.format(new_job))
            old_job.update([new_job])
            no_new_job = False
    if no_new_job: print('no new job...')
    time.sleep(sleeptime)
Ответ написан
Комментировать
@dmshar
Сравнение переменных есть сравнение переменных, не зависимо от того, спарсили вы ее, придумали сами или получили в наследство. Сравниваются они тоже стандартным образом, через использования результатов логических операторов (равенства ==, больше >, меньше < и т.д). Это конечно, если сравниваемые переменные числа. Если это данные других типов, то применяються операторы сравнения этих типов. Поэтому ваш вопрос звучит несколько странно,
Если одна переменная получена ранее, а вторая позже - можете их, если хотите и если вам по каким-то причинам сохранять - последовательно складывать в список и потом проверять пару значений с конца. Если данные получаются вообще в разных процессах - можно записывать во внешний файл, а при сравнении извлекать оттуда.
У вас вообще операция парсинга - вне цикла, таким образом непонятно, откуда берется данное, которое "Поступает через 2 минуты"? Да и new_job очищаете сразу по чтению данных.
И вообще, как-то ваш код не очень соответствует приведенному описанию, так что приходится только догадываться.
Ответ написан
Комментировать
@Greem4ik Автор вопроса
dmshar Код еще не доконца дописан так как застрял на этом моменте цикл само собой предусмотрен.
Попробую более подробно описать что я пытаюсь сделать:
Из парсера я вытаскиваю переменную title и есть список new_job в нее помещается эту переменную title , если через 2 минуты переменная из парсера поменялась ее надо сравнить со списком new_job в котором находилась переменная title 2 минуты назад. То есть они(переменная из парсера и список new_job) должны отличаться друг от друга в случае изменения переменной title в парсере.
Большое спасибо за ответ

SoreMix
Огромнейшее спасибо, это то что я искал. Благо,радости,удачи
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы