У меня есть несколько XML-файлов, содержащих твиты в формате, аналогичном приведенному ниже:
<tweet idtweet='xxxxxxx'>
<topic>#irony</topic>
<date>20171109T03:39</date>
<hashtag>#irony</hashtag>
<irony>1</irony>
<emoji>Laughing with tears</emoji>
<nbreponse>0</nbreponse>
<nbretweet>0</nbretweet>
<textbrut> Some text here <img class="Emoji Emoji--forText" src="source.png" draggable="false" alt="?" title="Laughing with tears" aria-label="Emoji: Laughing with tears"></img> #irony </textbrut>
<text>Some text here #irony </text>
</tweet>
Существует проблема с способом создания файлов (закрывающий тег для img отсутствует), поэтому я сделал выбор, закрыв его, как в примере выше. Я знаю, что в HTML вы можете закрыть его как
<img **something here** />
, но я не знаю, подходит ли это для XML, так как я его нигде не видел.
Я пишукод Python, который извлекает тему и простой текст, но меня также интересуют все атрибуты, содержащиеся в img , и я не могу это сделать. Вот что я пробовал до сих пор:
top = []
txt = []
emj = []
for article in root:
topic = article.find('.topic')
textbrut = article.find('.textbrut')
emoji = article.find('.img')
everything = textbrut.attrib
if topic is not None and textbrut is not None:
top.append(topic.text)
txt.append(textbrut.text)
x = list(everything.items())
emj.append(x)
Любая помощь будет принята с благодарностью.