Как найти элементы в нескольких строках, которые соответствуют элементам из списка - PullRequest
0 голосов
/ 08 марта 2019

Привет! Я пытаюсь создать фильтр для RSS-канала Piratebay, который отфильтровывает фильмы, которые я уже приобрел, и сохраняет те, которых у меня нет. Затем он позже загрузит торрент по предоставленной ссылке на магнит. Проблема в том, что я не могу понять, как отфильтровать мои фильмы от тех, которые у меня нет, так как я пытаюсь отфильтровать список из строки и не знаю, как это сделать. Вот пример запускаемого кода с кодом, который я хочу добавить в примечаниях:

import feedparser
import ssl

if hasattr(ssl, '_create_unverified_context'):
    ssl._create_default_https_context = ssl._create_unverified_context
feed = feedparser.parse('https://thepiratebay.org/rss/top100/207')
feed_title = feed['feed']['title']
feed_entries = feed.entries
f = open("movies.txt", "r+")
fr = f.readlines()
print(fr)
for entry in feed.entries[:25]:
    el = entry.title.lower()
    # if fr in el:
        # remove_from_titles()
    # else:
    article_title = el
    article_link = entry.link
    print(article_title)
    print(article_link)

movies.txt файл:

aquaman
spiderman

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Попробуйте использовать набор вместо списка.Если установлен фид A и заголовки файлов B , то заголовки в A, которых нет в B, равны A.difference(B)

0 голосов
/ 08 марта 2019

Можете ли вы попробовать следующее:

with open("movies.txt", "r+") as f:
    fr = f.readlines()
if article_title.lower() not in movies_list:
    print(article_title)
    # do your downloading stuff here

    # update your movies.txt file
    with open("movies.txt", "a") as f:
        f.write('\n' + 'article_title')
...