我想从下面的链接中捕获文本并保存。 http://forecast.weather.gov/product.php?site=NWS&issuedby=FWD&product=RR5&format=CI&version=44&glossary=0
我只需要在 .A 之后保存文本,所以我不需要页面中的其他文本。此外,页面顶部有50个不同的链接,我想从所有链接中获取所有数据。
我已经编写了下面的代码,但它什么都没有返回,具体如何才能获得我需要的部分?
import urllib
import re
htmlfile=urllib.urlopen("http://forecast.weather.gov/product.php?site=NWS&issuedby=FWD&product=RR5&format=CI&version=1&glossary=0")
htmltext=htmlfile.read()
regex='<pre class="glossaryProduct">(.+?)</pre>'
pattern=re.compile(regex)
out=re.findall(pattern, htmltext)
print (out)
我还使用了以下内容返回页面的所有内容:
import urllib
file1 = urllib.urlopen('http://forecast.weather.gov/product.php?site=NWS&issuedby=FWD&product=RR5&format=txt&version=1&glossary=0')
s1 = file1.read()
print(s1)
你能帮我这么做吗?
答案 0 :(得分:1)
您的正则表达式没有捕获任何内容,因为您的内容以换行符开头,并且您未启用.
包含换行符。如果将编译行更改为
pattern=re.compile(regex,re.S)
它应该有用。
您也可以查看:
它显示了你的正则表达式正在做什么。当我把S标志放在右侧时,它开始正常工作: