Форум сайта python.su
Первый пост и собственно сам вопрос в комментариях:
import feedparser import pymysql.cursors import facebook url = feedparser.parse('rss.xml) connection = pymysql.connect() #в базе сохранены новости и их ссылки. Проходим циклом cur = connection.cursor() cur.execute("SELECT rssfb.link FROM rssfb") for row in cur: link1 = row.get('link') #парсер rss, получаем список из rss for e in url['entries']: #Вопрос1 в циуле можно делать построковую выборку из другого списка (массива или словаоря)? link2 = e.get('link','') if link1 == link2: #Вопрос 2 Как сравнить два списка полученные циклом for? Правльна ли консткрукция? #пропускаем else: #Если в базе такой новости нет, то отправляем в ФБ. Заранее спасибо!
Отредактировано irgit (Фев. 5, 2018 05:35:16)
Офлайн
irgitнет, в link1 будет последнее значение
if link1 == link2: #Вопрос 2 Как сравнить два списка полученные циклом for? Правльна ли консткрукция?
Отредактировано papuas (Фев. 7, 2018 19:30:52)
Офлайн
сделайте link1 b link2 множествами(set) и сделайте разность , на выходе получите линки которые есть в link1 но нету в link2
link1 = set() for row in cur: link1.append(row.get('link')) .... # также делаем для link2 .... diff_links = link1.difference( link2) #линки котороые есть в link1 но нету в link2 if diff_links:# если новое множество не пустое for link in diff_links: #, отправляем в ФБ...
[code python][/code]
Отредактировано PEHDOM (Фев. 7, 2018 20:39:01)
Офлайн
PEHDOMспасибо большое, я счастлив)
сделайте link1 b link2 множествами(set) и сделайте разность , на выходе получите линки которые есть в link1 но нету в link2
Офлайн
Ребята, опять затык (простите только учусь). Вот такая конструкция, которая должна через pymysql писать ссылки в таблицу mysql
if diff_links: for linkfb in diff_links: #ссылки with connection.cursor() as cursor: ql = ("INSERT INTO `fburl`(`url`) VALUES" + '("'+ linkfb + '");') #вроде исполняется, но в таблицу не пишется. Почему? cursor.execute(ql)
Офлайн
irgit
Ребята, опять затык (простите только учусь). Вот такая конструкция, которая должна через pymysql писать ссылки в таблицу mysql
with connection.cursor() as cursor: cursor.executemany("INSERT INTO `fb`(`url`) VALUES (%s)", link ) connection.commit()
Офлайн
Ура! Мой первый проект на https://github.com/tarbagan/rss_to_facebook
Спасибо всем)
Офлайн