我正在尝试编写一个使用" urllib"的python脚本。和"重新"图书馆从html页面中提取天气预报信息,但我似乎无法获得任何值,有人可以帮助我吗?
import urllib
import re
url = ('http://www.metoffice.gov.uk/public/weather/forecast/gcptz5sys')
htmlfile = urllib.urlopen(url)
htmltext = htmlfile.read()
regex =('<span title="Maximum daytime temperature" data-c="10" data-f="50">(.+?)<sup>°C</sup></span>')
pattern = re.compile(regex)
temp = re.findall(pattern,htmltext)
print (temp)
我顺便使用Python 2.7 ......
答案 0 :(得分:1)
试试这个:
#!/usr/bin/env python
import urllib
import re
def main():
url = ('http://www.metoffice.gov.uk/public/weather/forecast/gcptz5sys')
htmlfile = urllib.urlopen(url)
htmltext = htmlfile.read()
htmltext = str(htmltext).replace('\n', '')
htmltext = str(htmltext).replace('\t', '')
htmltext = str(htmltext).replace(' ', '')
pattern = re.compile('<spantitle="Maximumdaytimetemperature"data-c="7"data-f="45">(?P<temperature>.+?)<sup>°C</sup></span>')
for match in pattern.finditer(htmltext):
print match.group('temperature')
if __name__ == "__main__":
main()
所以我在这里做了什么:
P.S。:我删除了所有的空格字符,因为它可以在后端动态更改,每次都应该更改正则表达式。通过删除所有空格和换行符,可以避免此问题。