Python正则表达式提取网页标题

2023-04-03 00:00:00 网页 提取 标题

在 HTML 中,网页标题通常被包含在 标签中。我们可以使用 Python 中的正则表达式来匹配 <title> 标签并提取其中的文本内容,从而获取网页的标题信息。</p> <p>下面是一个简单的示例代码,用于提取网页标题:</p> <div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">re</span> <span class="n">html</span> <span class="o">=</span> <span class="s2">"""</span> <span class="s2"> <html></span> <span class="s2"> <head></span> <span class="s2"> <title>pidancode.com - 皮蛋编程</title></span> <span class="s2"> </head></span> <span class="s2"> <body></span> <span class="s2"> <h1>Hello, World!</h1></span> <span class="s2"> <p>Welcome to pidancode.com.</p></span> <span class="s2"> </body></span> <span class="s2"> </html></span> <span class="s2">"""</span> <span class="n">pattern</span> <span class="o">=</span> <span class="sa">r</span><span class="s1">'<title>(.*?)</title>'</span> <span class="n">title</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">pattern</span><span class="p">,</span> <span class="n">html</span><span class="p">)</span> <span class="k">if</span> <span class="n">title</span><span class="p">:</span> <span class="k">print</span><span class="p">(</span><span class="n">title</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">))</span> </pre></div> <p>上述代码中,我们首先定义了一个正则表达式模式 pattern,用于匹配 <title> 标签及其包含的文本内容。然后我们使用 re.search() 函数来搜索 HTML 代码中的第一个匹配项,并使用 group() 方法来获取匹配结果中第一个括号中的文本内容。</p> <p>运行上述代码,我们可以得到以下输出:</p> <div class="codehilite"><pre><span></span>pidancode.com - 皮蛋编程 </pre></div> <p>在实际使用中,我们还可以使用 re.findall() 函数来获取 HTML 代码中的所有标题信息,并使用列表等数据结构来保存这些信息。需要注意的是,在使用正则表达式提取网页标题时,还需要考虑到不同网页可能具有不同的 HTML 结构,因此需要根据具体情况定义合适的正则表达式模式。</p> </div> <div class=""> <p><strong>相关文章</strong></p> </div> </article> </div> </main> <footer> <div class="container"> <p> <span>友情链接:</span> <a href="https://www.688576.com" target="_blank">雨伦博客</a>   <a href="https://www.yaanbbs.net" target="_blank">雅安论坛</a> </p> <a href="https://beian.miit.gov.cn" target="_blank">京ICP备15023317号-6</a> </div> </footer> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?30b42218aa13759c43de5f1971d0a93b"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>