中にあるものをすべて手に入れたい。私はこのコードを書きました:
matchObj = re.search(r'<tr>(.*?)</tr>', txt, re.M|re.I|re.S)
しかし、私は最初のグループしか取得しません。
どうすればすべてのグループを取得できますか?
前もって感謝します :)
中にあるものをすべて手に入れたい。私はこのコードを書きました:
matchObj = re.search(r'<tr>(.*?)</tr>', txt, re.M|re.I|re.S)
しかし、私は最初のグループしか取得しません。
どうすればすべてのグループを取得できますか?
前もって感謝しま
中にあるものをすべて手に入れたい。私はこのコードを書きました:
matchObj = re.search(r'<tr>(.*?)</tr>', txt, re.M|re.I|re.S)
しかし、私は最初のグループしか取得しません。
どうすればすべてのグループを取得できますか?
前もって感謝します :)
複数の一致を取得するには、を使用しますre.findall()
。
ただし、正規表現を使用してHTMLを解析すると、醜く複雑になります。代わりに、適切なHTMLパーサーを使用してください。
Pythonにはいくつかの選択肢があります。
ElementTreeの例:
from xml.etree import ElementTree
tree = ElementTree.parse('filename.html')
for elem in tree.findall('tr'):
print ElementTree.tostring(elem)
BeautifulSoupの例:
from bs4 import BeautifulSoup
soup = BeautifulSoup(open('filename.html'))
for row in soup.select('table tr'):
print row