Я использую следующий код для очистки тегов среди других:
for content in soup.find_all(): try: link = content.find('enclosure') link = link.get('url') print "\n\nLink: ", link title = content.find('title') #<item><guid isPermaLink="false"> == is causing doubling of first episode #title = content.find('title') title = title.get_text()
Он хорошо очищает URL-адреса, а также следующие заголовки, которые являются правильными, но, очевидно, выбирает два первых из них в соответствии с инструкциями,Как мне проигнорировать их и начать с названия эпизодов (Ep 116)?
(Сайт, который я копирую, - http://feeds.thisiscriminal.com/CriminalShow)
<channel> <title>Criminal</title> <link>http://thisiscriminal.com/</link> </description> <image> <url>https://f.prxu.org/criminal/images/....png</url> <title>Criminal</title> <link>http://thisiscriminal.com/</link> <title>Episode 116</title> <link>http://feeds.thisiscriminal.com/~r/...</link> <description>
Любые отзывы очень ценятся!
Хотите что-то вроде следующего?
import requests from bs4 import BeautifulSoup as bs r = requests.get('http://feeds.thisiscriminal.com/CriminalShow') soup = bs(r.content, 'lxml') for item in soup.select('item'): print(item.select_one('title').text) print([i.get('href', i.text) for i in item.select('[href], link') if i.get('href', i.text) !=''])