使用正则表达式从{h}标记中提取文本

时间:2016-04-16 17:48:01

标签: regex python-2.7 web-scraping

我是网络抓取和正则表达的新手。想出了如何在html标签之间提取文本。问题是我不想要标签内的文字,例如class =" ",只是标签之间的文字。

我有:

    re.findall(r'(<h(.*?)</h(.*?)>)', html)

这给了我:

    <h1 class="title">Title</h1>

但我只想要:标题

顺便说一下,我使用带有urllib2的Python 2.7.10并重新导入。

1 个答案:

答案 0 :(得分:2)

您需要移除捕获圆括号括号并为开启h标记设置结束>

re.findall(r'<h.*?>(.*?)</h[0-9]>', html1)

live demo

但是我建议使用Beautiful Soup进行报废,这是一个针对网页报废而编写的优秀库。无需重新发明轮子。