从html页面检测和提取列表数据的python库
mdr的Python项目详细描述
mdr是一个从html页面检测和提取列表数据的库。它基于Finding and Extracting Data Records from Web Pages实现,但是 将相似度更改为由Web Data Extraction Based on Partial Tree Alignment和Automatic Wrapper Adaptation by Tree Edit Distance Matching提出的树对齐。
需要
^必须安装{tt1}$和scipy才能生成此包。
用法
检测列表数据
mdr假设靠近元素的数据记录具有大多数文本节点:
[1]: import requests [2]: from mdr.mdr import MDR [3]: mdr = MDR() [4]: r = requests.get('http://www.yelp.co.uk/biz/the-ledbury-london') [5]: candidates, doc = mdr.list_candidates(r.text.encode('utf8')) ... [8]: [doc.getpath(c) for c in candidates[:10]] ['/html/body/div[2]/div[3]/div[2]/div/div[1]/div[1]/div[2]/div[1]/div[2]/ul', '/html/body/div[2]/div[3]/div[2]/div/div[1]/div[2]', '/html/body/div[2]/div[3]/div[2]/div/div[1]/div[2]/div[2]', '/html/body/div[2]/div[3]/div[1]/div/div[4]/div[1]/div/div[1]/div/div[2]/div[1]/div[1]/div', '/html/body/div[2]/div[3]/div[1]/div/div[4]/div[2]/div/div[3]', '/html/body/div[2]/div[3]/div[1]/div/div[4]/div[1]/div/div[2]/ul/li[2]/div/div/ul', '/html/body/div[2]/div[3]/div[2]/div/div[1]/div[1]/div[2]/div[1]', '/html/body/div[2]/div[3]/div[2]/div/div[1]/div[2]/div[2]/div[1]/table/tbody', '/html/body/div[2]', '/html/body/div[2]/div[4]/div/div[1]']
提取数据记录
mdr通过在特定的候选dom树下进行树匹配,找到重复模式,然后将所谓的种子元素映射到来自不同dom树的匹配元素列表。
许可证
麻省理工学院