2

私はpythonとxpathが初めてで、次のようなhtmlコードがあります。

<a name="hello"></a>
<h3>hello</h3>
<table />

<a name="impact"></a>
<h3>Impact</h3>
<table cellspacing="0" cellpadding="0" border="0" class="wrapper-table"><tr> <td><p>An     unauthenticated attacker using a specifically crafted payload may be able to trick the Ruby on Rails backend into executing arbitrary code.</p></td></tr></table>

そして、すべてのタグとテキストを含むテーブル全体を保存し、...文字列で保存したいと考えています。Impact ヘッダーの後にある table タグが必要です。

4

1 に答える 1

0

使用する

tables = root.xpath('.//table[preceding-sibling::h3[text()="Impact"]]')

また

tables = root.xpath('.//h3[text()="Impact"]/following-sibling::table')

また

tables = root.cssselect('h3:contains(Impact) ~ table')

完全なソリューション

root = tree.getroot()
tables = root.xpath('.//h3[text()="Impact"]/following-sibling::table')
for table in tables:
    print str
于 2013-08-04T07:49:20.973 に答える