我想删除不提供给我的数据,只检索链接中的数据

时间:2016-06-08 13:21:26

标签: python html-parsing

感谢从我的笔记本电脑到precia molen的i40的以太网连接,我可以通过在网络上输入以下信息来捕获信息: http://192.168.1.101/ValPoids.cgx 这将检索称重传感器的值。 感谢python,我写了一些这样的代码来捕获我需要的信息。虽然我得到了很多我不感兴趣的东西,所以我想删除它,只得到重量的信息。

这是用python编写的代码:

  import urllib.request
  import time

  while True :
      page = urllib.request.urlopen('http://192.168.1.101/ValPoids.cgx')
      print(page.read())
      time.sleep(1)

最后程序显示:

 b'<form><text><id>ValPoids</id><value>     0.4 kg</value></text><text><id>info</id><value>FALSE</value></text><text><id>TypePoids</id><value>&#160;</value></text><text><id>HorsGammes</id><value>&#160;</value></text><text><id>Instable</id><value> ~</value></text><text><id>Etendue</id><value>&#160;</value></text><text><id>Zero</id><value>&#160;</value></text></form>'

 b'<form><text><id>ValPoids</id><value>     0.5 kg</value></text><text><id>info</id><value>FALSE</value></text><text><id>TypePoids</id><value>&#160;</value></text><text><id>HorsGammes</id><value>&#160;</value></text><text><id>Instable</id><value> ~</value></text><text><id>Etendue</id><value>&#160;</value></text><text><id>Zero</id><value>&#160;</value></text></form>'

我想要的只是获得0.5千克或0.4千克的evrytime我进行测量。 我想删除其他的东西。 谢谢你的帮助!

3 个答案:

答案 0 :(得分:1)

使用BeautifulSoup仅获取元素的文本。 或者你可以使用正则表达式。 如果你没有BeautifulSoup,你应该先安装它。

pip install beautifulsoup4

使用BeautifulSoup:

from bs4 import BeautifulSoup
soup = BeautifulSoup(page.read(), 'html.parser')
all_forms = soup.findAll('form')
for form in all_forms:
    print form.text

答案 1 :(得分:0)

import urllib.request
import time

pip install beautifulsoup4

from bs4 import BeautifulSoup
soup = BeautifulSoup(page.read(), 'html.parser')
all_forms = soup.findAll('form')
for form in all_forms:
    print (form.text)

while True :
    page = urllib.request.urlopen('http://192.168.1.101/ValPoids.cgx')
    print(page.read())
    time.sleep(1)

它告诉我intsall是一种无效的语法......

答案 2 :(得分:0)

最后,我尝试找到一个解决方案,通过这种方式,您可以轻松删除您不需要的部分结果:

使用以下命令加载文件:

background

然后你读ln并将ln转换为字符串,这要归功于:

background-color

唯一要做的就是用这个替换你不想要的东西:

ln=open("your_file")

示例:

ln = str(ln.read())
ln = str(ln)

它将取代你不想要的东西。