曜日を見つけるために line.rfind を使用しています。私が持っているスクリプトは毎日実行され、HTML スクリプトで次の日を見つける必要があります。たとえば、今日が金曜日の場合、line.rfind を使用して HTML コード内の「土曜日」を検索する必要があります。以下のスクリプトを試してみました...しかし、単一引用符内のすべてを見つけようとしているため、明らかな理由で機能しませんでした。
#!usr/bin/env python
import urllib
from datetime import datetime
from datetime import timedelta
date = datetime.now()
date1 = date + timedelta(days=1)
class city :
def __init__(self, city_name, link, latitude, longitude) :
self.name = city_name
self.url = link
self.low0 = 0
self.high1 = 0
self.high2 = 0
self.low1 = 0
self.low2 = 0
self.lat = latitude
self.long = longitude
def retrieveTemps(self) :
filehandle = urllib.urlopen(self.url)
# get lines from result into array
lines = filehandle.readlines()
# (for each) loop through each line in lines
line_number = 0 # a counter for line number
for line in lines:
line_number = line_number + 1 # increment counter
# find string, position otherwise position is -1
position0 = line.rfind('title="%(x)" % {"x": date1.strftime("%A")}')
私がその日を引っ張ろうとしているhtmlコードの正確な行は...
<abbr title="Saturday">Sat</abbr>
この行の前に曜日が記載されることがあるため、単に「Saturday」ではなく「title="Saturday"」を検索する必要があります。誰でもこれを解決する方法について何か考えがありますか? どんな助けでも大歓迎です!! ありがとう!
編集 - 次の数行のコードを追加します。
# string is found in line
if position0 > 0 :
self.low0 = lines[line_number + 4].split('&')[0].split('>')[-1]