0
私はPythonを学ぼうとしています。私の唯一の経験はApplescriptingであり、これまでどおりに学ぶのは簡単ではありません。天候を解析するスクリプト
xml気象サイトを解析しようとしていますが、今まで私が必要とするデータがありますが、それをさらに処理するためのリストに入れる方法がわかりません。誰も助けることができますか?
from BeautifulSoup import BeautifulSoup
import xml.etree.cElementTree as ET
from xml.etree.cElementTree import parse
import urllib2
url = "http://www.weatheroffice.gc.ca/rss/city/ab-52_e.xml"
response = urllib2.urlopen(url)
local_file = open("\Temp\weather.xml", "w")
local_file.write(response.read())
local_file.close()
invalid_tags = ['b', 'br']
tree = parse("\Temp\weather.xml")
stuff = tree.findall("channel/item/description")
item = stuff[1]
parsewx = BeautifulSoup(stuff[1].text)
for tag in invalid_tags:
for match in parsewx.findAll(tag):
match.replaceWithChildren()
print parsewx
一般的な提案:一時ファイルを処理するには、通常は['tempfile module'](http://docs.python.org/library/tempfile.html)を使用する方がよいでしょう。なぜなら、競合を回避し、それは終わった。また、 '' \\ Temp \\ weather.xml ''や' r "\ Temp \ weather.xml" 'を使用してください。そうしないと、バックスラッシュ文字をエスケープコードとして扱います。 '\ T'と' \ w'は有効なエスケープではないので、うまく動作しますが、 '\ t'や' \ n'を試してみると驚くほど壊れてしまいます。あなたが[lxml](http://lxml.de/)を使用するならば、あなたのためにこれすべてを扱います。あなたは単に 'URLを'解析することができます。 – Dougal
ループの最後の2つにインデントの問題があります... – jadkik94