我想让脚本从网页中获取信息首先是页面http://whois.arin.net/rest/nets;q=74.125.232.147?showDetails=true&showARIN=false
所以我想得到NetRange
和{
import sys,urllib,re
J="http://whois.arin.net/rest/nets;q=74.125.232.147?showDetails=true&showARIN=false"
A=urllib.urlopen(J)
AB=A.read()
A.close()
B=re.match("NetRange",AB)
print B
一)不打印信息;(1)
不幸的是,这种正则表达式严重不足。您应该将该页面的XML源代码复制并粘贴到文本编辑器中,然后检查它。首先,认识到它是由XSLT设计的XML样式。你在课堂上讨论过XML吗?如果是这样的话,您应该知道您需要使用一个适当的XML解析器,如elementtree来简化、更好和更可靠。在
如果出于某种原因,必须将其作为正则表达式执行(实际上,除非是类要求,否则不要这样做),那么您需要修改您的方法。也许把它放在re-try中以帮助开发正则表达式。至少你需要括号来捕捉这些值。下面是一个不同网站的例子,http://api.hostip.info/?ip=4.8.42.19
另外,请使用更好的变量名。一封信的风格真的很糟糕。你的代码很难阅读,而且只会随着它做更多的工作而变得更难。在
B是重新匹配的对象。实际需要的是位于
"NetRange"
旁边的表单元格的值。为此,您可以使用类似Beautiful Soup的HTML/XML解析器。在另外,关于样式的注释,因为这是家庭作业这一事实表明你对编程还不熟悉:有意义的变量名值得花时间把它们输入出来。在
您可能需要重新访问您正在搜索的内容,因为它甚至不在返回的数据中。在
此外,请查看Python's re module的文档,特别是关于search() vs. match()的部分。在本例中,您想要}。在
search()
,而不是{相关问题 更多 >
编程相关推荐