Python: 使用正则表达式在网站标签之间查找句子
我想在 ...class="question-hyperlink">
标签之间找到一句话。
用这段代码:
import urllib2
import re
response = urllib2.urlopen('https://stackoverflow.com/questions/tagged/python')
html = response.read(20000)
a = re.search('question-hyperlink', html)
print html[a.end()+3:a.end()+100]
我得到了:
DF5 for Python: high level vs low level interfaces. h5py</a></h3> <div class="excerpt">
我该如何在下一个 <
停下来呢?我又该如何找到下一句呢?我想用正则表达式来实现。
编辑
给那些点了反对票的人:我想像他那样做:
正则表达式匹配开放标签,除了XHTML自包含标签1 个回答
4
如果你一定要用正则表达式来做,可以试试下面这个:
a = re.finditer('<a.+?question-hyperlink">(.+?)</a>', html)
for m in a:
print m.group(1)
顺便提一下,这段代码做的事情和上面的一样,但方式要更稳健一些:
doc = BeautifulSoup(html)
for a in doc.findAll('a', 'question-hyperlink'):
print a.text