最近私は、NOAAのウェブサイトからMETARを取得し、METARデータをスライスして印刷するプロジェクトに取り組んできました。.find()は文字列を受け取りませんか? Python 3.6
File "/Users/MrZeus/Desktop/PY3.6_PROJECT/version_1.py", line 22, in daMainProgram
data_start = website_html.find("<--DATA_START-->")
TypeError: a bytes-like object is required, not 'str'
私はこのエラーが何を言っているか理解して実行します。今、私は.find()
にMETARデータの開始は、それが私にこのエラーメッセージを表示しますsatesマーカーをしようとすると、Python3.6
にコードを変更するなどの問題が発生しました。それは.find()
が文字列を取らないことを意味しますが、Pythonのドキュメントによれば、.find()
関数は文字列を取ります! the documentation, it takes a bytes-like object or an intを1として
website = urllib.request.urlopen(airid)
website_html = website.read()
print(website_html)
br1_string = "<!-- Data starts here -->"
data_start = website_html.find(br1_string)
br1 = data_start + 25
br2 = website_html.find("<br />")
metar_slice = website_html[br1:br2]
print("Here is the undecoded METAR data:\n"+metar_slice)
はsoooooooがありがとうございました!! –