简单的HTML表提取器。

html2dict的Python项目详细描述



警告:此脚本尚未准备好供生产使用。
*尚未分析所有表。请参阅"功能"部分以获取支持的表类型列表。*



>简单的html表提取程序。


\prerequisite

*python 3.6+
*python模块:
*[lxml](https://lxml.de/)
*[请求](http://docs.python-requests.org/en/master/)

没有标题。
*带表头的基本表。
*带合并表头的复杂表。

表类型列表**当前不受**支持:
*任何嵌入iframes的表。
*带垂直表头的表(scope="col")
*第一组数据后有新表头行的表。
*合并表的表跨越多个级别

此项目仍然很新,如果要分析的表类型不在此列表中,请让我知道结果。

(目前只有一个可用)。
``python
from html2dict.extractors导入basictableextractor
```

>然后使用提供的3个构造函数之一实例化一个对象=basictableextractor.from_html_file(html_file=<;relative_或_absolute_filepath>;)



my_extractor=basictableextractor.from_url(url=<;url>;)
`````

bles
```

最后,可以从属性数据行或行访问表的数据。

``python
``myu extractor.basic_tables[<;table_name>;].rows
````

`examples


*for https://www.python.org/downloads/release/python-370/

``python
my_extractor=basictableextractor.from_url(url="https://www.python.org/downloads/release/python-370/")
my_extractor.basic_tables

{'table_0':<;html2dict.table object at 0x10700c828>;}

pprint(my_extractor.basic_tables['table_0'].rows)

{'data':[{'description':'N/A',
'文件大小':'22745726',
'GPG':'SIG',
'MD5 SUM':'41B6595DEB4147A1ED517A7D9A580271',
'操作系统':'SOURCE RELEASE',
'版本':'GZIPPED SOURCE tarball',
{'说明':'N/A',
'FIle size':'16922100',
'gpg':'sig',
'md5 sum':'eb8c2a6b1447d50813c02714af4681f3',
'operating system':'source release',
'version':'xz compressed source tarball'},
{'description':'适用于Mac OS X 10.6及更高版本,
'文件大小':'34274481',
'gpg':'sig',
'md5 sum':'ca3eb84092d0ff6d02e42f63a73438e',
'操作系统':'mac os x',
'版本':'macos 64位/32位安装程序'},
{'说明':'os x 10.9及更高版本,
'f文件大小':'27651276',
'gpg':'sig',
'md5 sum':'ae0717a02efea3b0eb34aadc680dc498',
'操作系统':'mac os x',
'版本':'macos 64位安装程序'},
{'说明':'n/a',
'文件大小':'8547689',
'gpg':'sig',
'md5 sum':'46562af86c249dd0cc7680348180dca',
'操作系统':'windows',
'版本':'windows帮助文件'},
{'说明':'amd64/em64t/x64',
'文件大小':'6946082',
'gpg':'sig',
'md5 sum':'cb8b4f0d979a36258f73ed541def10a5',
'操作系统':'windows',
'版本':'windows x86-64可嵌入zip文件'},
{'说明':'amd64/em64t/x64',
'文件大小':'26262280',
'gpg':'sig',
'md5 sum':'531c3fc821ce0a4107b6d2c6a129be3e',
'operating system':'windows',
'version':'windows x86-64可执行安装程序'},
{'description':'for amd64/em64t/x64',
'file size':'1327160',
'gpg':'sig',
'md5 sum':'3cfdaf4c8d3b0475aaec12ba402d04d2',
'operating system':'windows',
'version':'windows x86-64 web-based installer'},
{'description':'n/a',
'file size':'6395982',
'gpg':'sig',
'MD5 sum':'ed9a1C028c1e99f53232b9c20723d7d6f',
'操作系统':'windows',
'版本':'windows x86可嵌入zip文件'},
{'说明':'n/a',
'文件大小':'25506832',
'gpg':'sig',
'MD5 sum':'ebb6444c284c'1447E902E87381AFFF0',
"操作系统":"Windows",
"版本":"Windows x86可执行安装程序"},
{"说明":"N/A",
"文件大小":"1298280",
"GPG":"SIG",
"MD5总和":"779C4085464EB3EE5B1A4 FFFD0EABCA4"
‘操作系统’:‘windows’,
‘版本’:‘windows x86基于web的安装程序’},
‘标题’:[[‘版本’,
‘操作系统’,
‘说明’,
‘md5和’,
‘文件大小’,
‘gpg’]}

```



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我需要做什么来解析bundle-org。日食说唱在eclipse helios中无法解析ui?   json Java JSONSimple解析器   java如何使Hibernate、JBoss和Eclipse在单元测试中协同工作?   java使输出在每个循环中打印一次,而不是每次迭代   Java ArrayList remove()意外结果?   java删除服务器。来自sun应用程序服务器的策略   java在Tycho项目中为非OSGi JUnit测试添加testonly依赖项   java Hibernate TypedQuery在升级到版本5后失败(如果以以下方式结束)   java Mockito ArgumentCaptor不在catch块中捕获argurment   java GWT CheckBoxCell:如何添加更改处理程序?   java如何在不更改hibernatemapping的情况下防止字段被更新   Java中的虚拟TCPsocket   java如何通过我的应用程序在新版本的Androids上以编程方式更改其他应用程序的权限?   java文件被哪个进程锁定(安卓)?   SeleniumWebDriverJava中的按钮单击   基于Java的多线程客户端socket   清除文本字段时出现问题。clear()*JAVA**ANDROID*   安卓为什么会发生JavaJSON异常?