Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从html到Python获取一行文本_Python_Html - Fatal编程技术网

如何从html到Python获取一行文本

如何从html到Python获取一行文本,python,html,Python,Html,我正在创建一个程序,打印出用户的Ip地址。 所以我想做的是得到ipchicken.com的Html,只打印出“名称地址”部分。 以下是我目前的代码: import urllib sock = urllib.urlopen("http://ipchicken.com") htmlSource = sock.read() sock.close() print htmlSource 现在如何打印html的ip部分 如果有其他方法可以使用python获

我正在创建一个程序,打印出用户的Ip地址。 所以我想做的是得到ipchicken.com的Html,只打印出“名称地址”部分。 以下是我目前的代码:

import urllib              
sock = urllib.urlopen("http://ipchicken.com")
htmlSource = sock.read()           
sock.close()
print htmlSource
现在如何打印html的ip部分


如果有其他方法可以使用python获得用户的ip,请也包括:)

使用HTML抓取库,如。

使用HTML抓取库,如。

您可以使用抓取另一个文本中的文本。如果您提供了
htmlSource
的相关部分,我们可以发布一个


下面是一些关于检索IP地址的帖子:

您可以使用一个抓取另一个文本中的文本。如果您提供了
htmlSource
的相关部分,我们可以发布一个


下面是一些关于检索IP地址的帖子:

我建议您使用更具编程性的东西,而不是带有广告的ipchicken。当被诸如cURL之类的查询时,ifconfig.me的行为会有所不同

如果您想解析HTML并使用ipchicken获取IP地址,请使用或


更新:是只有编程接口的东西

我建议您使用更具程序性的东西,而不是充满广告的ipchicken。当被诸如cURL之类的查询时,ifconfig.me的行为会有所不同

如果您想解析HTML并使用ipchicken获取IP地址,请使用或


更新:是只有编程接口的东西

只需运行一个正则表达式就可以通过
htmlSource

ips = re.findall('(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})',
                 htmlSource)
变量
ips
将包含具有IP结构的所有文本

整个代码如下所示:

import urllib,re           
sock = urllib.urlopen("http://ipchicken.com")
htmlSource = sock.read()           
sock.close()
print htmlSource
ips = re.findall('(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})', htmlSource)
print "IPs in page", ips

只需运行正则表达式,就可以通过
htmlSource

ips = re.findall('(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})',
                 htmlSource)
变量
ips
将包含具有IP结构的所有文本

整个代码如下所示:

import urllib,re           
sock = urllib.urlopen("http://ipchicken.com")
htmlSource = sock.read()           
sock.close()
print htmlSource
ips = re.findall('(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})', htmlSource)
print "IPs in page", ips

屏幕抓取。。。regexp也是如此。我真的不推荐。谢谢!这是巨大的帮助!另外,我还学到了一些新的东西。谢谢用正则表达式解决这个问题似乎很简单。其他解决方案,如解析所有XML或使用BeautifulSoup,对我来说似乎是一种过火的解决方案,只是颜色的问题。。。我想:)在我看来,切换到能提供编程输出的东西,而不是用于人类消费的东西是“正确的方式”。是的,我完全同意。但我不认为这是问题所在。屏幕抓取。。。regexp也是如此。我真的不推荐。谢谢!这是巨大的帮助!另外,我还学到了一些新的东西。谢谢用正则表达式解决这个问题似乎很简单。其他解决方案,如解析所有XML或使用BeautifulSoup,对我来说似乎是一种过火的解决方案,只是颜色的问题。。。我想:)在我看来,切换到能提供编程输出的东西,而不是用于人类消费的东西是“正确的方式”。是的,我完全同意。但我不认为这是这里的问题。“在另一个文本中抓住一个文本。”,是的,但是,“在另一个文本中获取一个文本”,是的,虽然如此。是的,我使用了代码的链接而不是ipchicken现在xD谢谢!是的,我在代码中使用了该链接,而不是ipchicken now xD,谢谢!