Ich versuche, Daten aus diesem Feed zu ziehen:RSS-Feed hat ein " n" am Anfang. Wie entferne ich es? - Python
http://realbusiness.co.uk/feed/
Jedoch unterscheidet sie sich von der anderen sieht Feeds Ich ziehe aus. Sie sehen wie folgt aus:
https://www.ft.com/companies?format=rss
Wenn ich Daten ziehen aus „https://www.ft.com/companies?format=rss“ alles ist ziemlich geradlinig, wie ich minidom bin mit der Daten in Scheiben schneiden und ziehen alles, was ich wie so brauchen:
from xml.dom import minidom
from urllib.request import urlopen
url = 'https://www.ft.com/companies?format=rss&page=1'
html = urlopen(url)
dom = minidom.parse(html)
item = dom.getElementsByTagName('item')
for node in item:
pubdate = node.getElementsByTagName('pubDate')[0].childNodes[0].nodeValue
link = node.getElementsByTagName('link')[0].childNodes[0].nodeValue
title = node.getElementsByTagName('title')[0].childNodes[0].nodeValue
Allerdings, wenn ich versuchen und tun das gleiche für "http://realbusiness.co.uk/feed/" mit dem folgenden Code:
from xml.dom import minidom
from urllib.request import urlopen
url = 'http://realbusiness.co.uk/feed/'
html = urlopen(url)
dom = minidom.parse(html)
I erhalten den folgenden Fehler:
Traceback (most recent call last):
File "C:/Users/NAME/Desktop/Scripts/scrapesites/deleteme.py", line 6, in <module>
dom = minidom.parse(html)
File "C:\Python36\lib\xml\dom\minidom.py", line 1958, in parse
return expatbuilder.parse(file)
File "C:\Python36\lib\xml\dom\expatbuilder.py", line 913, in parse
result = builder.parseFile(file)
File "C:\Python36\lib\xml\dom\expatbuilder.py", line 207, in parseFile
parser.Parse(buffer, 0)
xml.parsers.expat.ExpatError: XML or text declaration not at start of entity: line 2, column 0
Meine Schlussfolgerung, warum dies auftritt, ist, weil die rss Struktur der beiden Standorte leicht unterschiedlich sind. 'http://realbusiness.co.uk/feed/' hat ein '\ n' in der ersten Zeile der Seite, während 'https://www.ft.com/companies?format=rss' nicht.
Wie gehe ich zum Löschen der "\ n", damit ich die Daten analysieren kann?
Wenn ich falsch mit meiner Lösung bin, was wäre die richtige Lösung?
Vielen Dank im Voraus.
Ich glaube nicht, dass die richtige Methode ist, um eine Zeichenfolge zu verwenden ... urlopen nicht zurück. –