Мой скрипт python анализирует заголовки и ссылки из нескольких RSS-каналов. Я храню эти заголовки в списке, и я хочу, чтобы я никогда не печатал дубликаты. Как мне это сделать?Как я могу сказать python, чтобы НЕ распечатывать элемент в списке?
#!/usr/bin/python
from twitter import *
from goose import Goose
import feedparser
import time
from pyshorteners import Shortener
import pause
import newspaper
dr = feedparser.parse("http://www.darkreading.com/rss_simple.asp")
sm =feedparser.parse("http://www.securitymagazine.com/rss/topic/2654-cyber-tactics.rss")
dr_posts =["CISO Playbook: Games of War & Cyber Defenses",
"SWIFT Confirms Cyber Heist At Second Bank; Researchers Tie Malware Code to Sony Hack","The 10 Worst Vulnerabilities of The Last 10 Years",
"GhostShell Leaks Data From 32 Sites In 'Light Hacktivism' Campaign",
"OPM Breach: 'Cyber Sprint' Response More Like A Marathon",
"Survey: Customers Lose Trust In Brands After A Data Breach",
"Domain Abuse Sinks 'Anchors Of Trust'",
"The 10 Worst Vulnerabilities of The Last 10 Years",
]
sm_posts = ["10 Steps to Building a Better Cybersecurity Plan"]
x = 1
while True:
try:
drtitle = dr.entries[x]["title"]
drlink = dr.entries[x]["link"]
if drtitle in dr_posts:
x += 1
drtitle = dr.entries[x]["title"]
drtitle = dr.entries[x]["link"]
print drtitle + "\n" + drlink
dr_posts.append(drtitle)
x -= 1
pause.seconds(10)
else:
print drtitle + "\n" + drlink
dr_posts.append(drtitle)
pause.seconds(10)
smtitle = sm.entries[x]["title"]
smlink = sm.entries[x]["link"]
if smtitle in sm_posts:
x +=1
smtitle = sm.entries[x]["title"]
smtitle = sm.entries[x]["title"]
print smtitle + "\n" + smlink
sm_posts.append(smtitle)
pause.seconds(10)
else:
print smtitle + "\n" + smlink
sm_posts.append(smtitle)
x+=1
pause.seconds(10)
except IndexError:
print "FAILURE"
break
В настоящее время у меня есть только пропущенные записи. Это было бы проблемой, потому что, если в канале RSS есть еще один дубликат, то у меня будет еще больше дубликатов.
Спасибо! Это действительно помогло мне! – Frank
Без проблем мужчина! Glsd это помогло. Не стесняйтесь отмечать мой ответ как принятый (флажок) –