繁体   English   中英

使用Python进行复杂的HTML解析

[英]Complex HTML parsing with Python

我已经知道使用BeautifulSoup,htmllib等在Python中基于标记的HTML解析。

但是,我想要一个强大的引擎,可以执行复杂的任务,如读取html表,列表等,并在代码中使用这些简单易用的对象。 python有这么强大的库吗?

BeautifulSoup是一个很好的库,提供了一种解析HTML的好方法,可以通过一些方便的方式来解析数据。

您尝试做的事情可以使用一些简单的正则表达式轻松完成。 您可以编写正则表达式来搜索特定的数据模式并提取所需的数据。

您可能会认为lxml具有强大的HTML处理器。 还有另一个补充模块依赖于名为pyquery lxml ,它可能就是你正在寻找的东西。

PyQuery有类似jQuery的语法,所以如果你习惯了jQuery,你就可以直接进入。

这是从aol.com获取第一个<ul>项的简单示例:

>>> from pyquery import PyQuery as pq
>>> import urllib
>>> data = urllib.urlopen('http://aol.com').read()
>>> d = pq(data)
>>> first_ul = d('ul:first')
>>> first_ul
[<ul#dhL2>]
>>> print first_ul
<ul id="dhL2"><li class="dhL1"><a accesskey="" href="https://new.aol.com/productsweb/?promocode=827693&amp;ncid=txtlnkuswebr00000074" name="om_dirbtn1" class="_o4-0" id="om_dirbtn1">Get Free Mail</a></li>
            </ul>

标准的HTML解析器已经非常适合为您提供简单的对象(例如,iterables)。 从表中创建比2D列表更复杂的任何内容可能取决于页面中的数据。

照这样说...

以下是编写脚本以将html表转换为python列表的人的博客文章链接 实际文件位于此处

我从来没有听说过做这些操作的标准python库,所以你最好的选择可能是谷歌搜索每个案例你需要它。 有可能有人做了你想要做的事情。

免责声明:在将其粘贴到您自己的应用程序之前,您应该始终阅读并理解您在线找到的任何代码! 引用来自哪里/哪里也是好的!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM