把<dl></dl>标签包含进去如何拿到我想要的内容

1.我把<dl>标签加进去拿到的是空内容,我该怎么写匹配规则,不加<dl>标签倒是可以拿到想要的内容
2.问题代码

pattern = re.compile(r'<dl>.*?<dd><a href="(.*?)">(.*?)</a></dd>.*?</dl>')

3.不把<dl>标签加进去可以拿到想要的内容
图片描述

4.附上网页源代码

<dl>
                <dt>《明末工程师》正文</dt>
                <dd><a href="/book/1440/xx">第一章 穿越后的窘境</a></dd>
</dl>
阅读 2.6k
2 个回答
# 你可能需要加个模式
# re.S    使 . 匹配包括换行在内的所有字符
pattern = re.compile(r'<dl>.*?<dd><a href="(.*?)">(.*?)</a></dd>.*?</dl>', re.S)
print re.findall(pattern, a)
// /需要转义下
<dl>.*?<dd><a href="(.*?)">(.*?)<\/a><\/dd>.*?<\/dl>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题