【发布时间】:2021-08-08 17:05:45
【问题描述】:
我正在尝试从网站中提取文本
下面是HTML代码部分
</script>
<body onLoad="onLoad()">
<input id="batterystatus" value="Charging" type="hidden">
<input id="batterylevel" value="63%" type="hidden">
<input id="signalstrength" value="Good" type="hidden">
<input id="ulCurrentDataRate" value="19317 bps" type="hidden">
<input id="dlCurrentDataRate" value="4969 bps" type="hidden">
<input id="ConnectionTime" value="00:05:40:47" type="hidden">
<input id="imsi" value="XXXXXXXXXXXX" type="hidden">
<input id="devicemodel" value="JMR540" type="hidden">
<input id="connectedStatus" value="Attached" type="hidden">
<input id="physicalCellId" value="25" type="hidden">
<input id="noOfClient" value="3" type="hidden">
<input id="eutrancellid" value="4058640090041A411" type="hidden">
<div id="divAdminApp" width="100%" align="center">
我获取值的 Python 代码是
import requests
import lxml.html
html = requests.get('http://192.168.225.1')
doc = lxml.html.fromstring(html.content)
batVol = doc.xpath('/input [@id="batterylevel"]')
print('Battery Voltage: ', batVol)
我得到的输出是空白
Output:
Battery Voltage: []
【问题讨论】:
-
DOM 中的这些值是否使用 JavaScript 填充?
-
可能想看看使用
bs4.BeautifulSoup -
实际上,这个网站托管在一个便携式 wifi 设备上,我开发了一个充电设置,它将根据电池电量打开充电继电器。上面的代码是wifi设备的主页
-
问题是,网站是静态的(所有内容都包含在 HTML 中)还是动态的(在 HTML 加载后是否使用 javascript 加载元素)?
-
我不知道 wifi 设备是 Jio Wifi,因此涉及的设备型号不同,并且在检查网页时,每个设备都有不同的网络响应格式。只有主页有这部分代码,所有模型都通用
标签: python parsing web-scraping lxml