我是网络抓取和正则表达的新手。想出了如何在html标签之间提取文本。问题是我不想要标签内的文字,例如class =" ",只是标签之间的文字。
我有:
re.findall(r'(<h(.*?)</h(.*?)>)', html)
这给了我:
<h1 class="title">Title</h1>
但我只想要:标题
顺便说一下,我使用带有urllib2的Python 2.7.10并重新导入。
答案 0 :(得分:2)
您需要移除捕获圆括号括号并为开启h标记设置结束>
。
re.findall(r'<h.*?>(.*?)</h[0-9]>', html1)
但是我建议使用Beautiful Soup进行报废,这是一个针对网页报废而编写的优秀库。无需重新发明轮子。