0

次の文字列を含む HTML ページ内のすべての text() を検索するための正しい xpath 式を探しています: @domain

左側の最初のスペースまで、右側の最初のスペースまで一致する抽出 -

メールアドレスを取得するだけです。

ありがとう

4

1 に答える 1

1

この Xpath クエリは、「@domain」を含むすべてのノードのテキストを取得します

//*[contains(text(), '@domain')]/text()

その後、テキストを解析して、Python を使用して電子メールを抽出できます。

>>> import re
>>> re.findall(r'[\w\.]+@domain\.[\w\.]+', 'this is our info: info@domain.co.uk')
['info@domain.co.uk']

アップデート:

スクレイピーの XPath セレクターにremethodがあるように見えますが、私は知りませんでした:

>>> hxs.select('//a[contains(@href, "image")]/text()').re(r'Name:\s*(.*)')
[u'My image 1',
 u'My image 2',
 u'My image 3',
 u'My image 4',
 u'My image 5']
于 2012-07-30T14:41:39.180 に答える