跳转到主要内容

快速DOM解析器

项目描述

这是为在XBMC外部使用而从通用函数和ParseDOM分叉的项目。

获取元素内容。

from parsedom import parseDOM
link_html = "<a href='bla.html'>Link Test</a>"
ret = parseDOM(link_html, "a")
print repr(ret) # Prints ['Link Test']

获取元素属性。

link_html = "<a href='bla.html'>Link Test</a>"
ret = parseDOM(link_html, "a", ret = "href")
print repr(ret) # Prints ['bla.html']

获取匹配属性的元素。

link_html = "<a href='bla1.html' id='link1'>Link Test1</a><a href='bla2.html' id='link2'>Link Test2</a><a href='bla3.html' id='link3'>Link Test3</a>"
ret1 = parseDOM(link_html, "a", attrs = { "id": "link1" }, ret = "href")
ret2 = parseDOM(link_html, "a", attrs = { "id": "link2" })
ret3 = parseDOM(link_html, "a", attrs = { "id": "link3" }, ret = "id")
print repr(ret1) # Prints ['bla1.html']
print repr(ret2) # Prints ['Link Test2']
print repr(ret3) # Prints ['link3']

在抓取网站时,分步骤进行是谨慎的,因为真实网站通常很复杂。

以下是一个示例,您想要获取所有用户上传的内容。

&lt;div id="content"&gt;
 &lt;div id="sidebar"&gt;
  &lt;div id="latest"&gt;
   <a href="/video?8wxOVn99FTE">Miley Cyrus - When I Look At You</a>&gt;br /&lt;
   <a href="/video?46">Puppet theater</a>&lt;br /&gt;
   <a href="/video?98">VBLOG #42</a>&lt;br /&gt;
   <a href="/video?11">Fourth upload</a>&lt;br /&gt;
  &lt;/div&gt;
 &lt;/div&gt;
 &lt;div id="user"&gt;
  &lt;div id="uploads"&gt;
   <a href="/video?12">First upload</a>&lt;br /&gt;
   <a href="/video?23">Second upload</a>&lt;br /&gt;
   <a href="/video?34">Third upload</a>&lt;br /&gt;
   <a href="/video?41">Fourth upload</a>&lt;br /&gt;
  &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;

第一步是限制您的搜索到正确的区域。

应该始终找到包含所需数据的最深层的DOM元素。

ret = parseDOM(html, "div", attrs = { "id": "uploads" })

现在变量ret包含

['<a href="/video?12">First upload</a>&lt;br /&gt;
<a href="/video?23">Second upload</a>&lt;br /&gt;
<a href="/video?34">Third upload</a>&lt;br /&gt;
<a href="/video?41">Fourth upload</a>&lt;br /&gt;']

然后我们获取视频URL。

videos = parseDOM(ret, "a", ret = "href")
print repr(videos) # Prints [ "video?12", "video?23", "video?34", "video?41" ]

项目详情


下载文件

下载适合您的平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

parsedom-1.0.0.tar.gz (16.8 kB 查看哈希值)

上传时间:

由以下组织支持