从多个元素读取html文档中的IP

2024-04-24 10:19:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含table元素的html文档。 该表具有各种属性,如“state”、“port”、“ip”等。 作为我学术研究的一部分,我需要编写一个python程序来扫描表并将数据写入日志文件。你知道吗

我使用的是beautifulsoup4,我成功地编写了除IP之外的所有需要的属性。你知道吗

其原因是IP被划分为多个元素,很难发现一个模式。你知道吗

下面是html代码(我只展示了iptd)

<tr class="" rel="21658486">
      <td>
            <span>
                <style>
                    .pcx4 {
                        display: none;
                    }.AHsU {
                        display: inline;
                    }
                </style>
                <span style="display: none">47</span>
                <span class="pcx4">47</span>
                <div style="display: none">47</div>
                <span style="display: none">105</span>
                <span class="pcx4">105</span>
                <span class="pcx4">164</span>
                <span></span>
                <span style="display: inline">185</span>
                <span style="display: none">238</span>
                <span></span>
                <span style="display: none">243</span>
                <span></span>
                <span class="205">.</span>
                <span class="AHsU">28</span>
                <span></span>
                <span style="display: none">180</span>
                <span class="pcx4">180</span>
                <div style="display: none">180</div>
                <span style="display: inline">.</span>
                <span style="display: inline">193</span>
                <span class="208">.</span>
                <span class="AHsU">95</span>
            </span>
        </td>
</tr>

此(第一个)td的IP为:185.28.193.95

另一个td是:(找不到模式)

<td>
            <span>
                <style>
                    .RoUm {
                        display: none;
                    }.LqwJ {
                        display: inline;
                    }.GElR {
                        display: none;
                    }.fOJi {
                        display: inline;
                    }.vLOp {
                        display: none;
                    }.i5lO {
                        display: inline;
                    }.A8Pf {
                        display: none;
                    }.GvPD {
                        display: inline;
                    }
                </style>
                <span></span>
                <div style="display: none">129</div>
                <span style="display: none">131</span>
                <span class="GElR">131</span>
                <span></span>
                <span></span>
                <span></span>
                <span class="LqwJ">189</span>
                <span class="A8Pf">201</span>
                <div style="display: none">201</div>
                <span class="151">.</span>
                <span class="A8Pf">28</span>
                <div style="display: none">28</div>
                219
                <span style="display: inline">.</span>
                <span class="LqwJ">255</span>
                <span class="148">.</span>
                <span style="display: inline">63</span>
                <span></span>
            </span>
        </td>

谢谢你的帮助。 我再说一遍,这是一个学术研究,没有伤害:)


Tags: ipdivnone元素stylehtmldisplayinline