描述如何从网页提取结构化数据的语言:Parsley

简介:

郑昀@玩聚SR 20091127

欧芹Scrapy里面用到了Parsley
Parsley是一个挺有意思的小东西,它综合运用了CSS、XPath、正则表达式和JSON,是描述如何从网页里提取结构化数据的简单语言。估计做爬虫(Crawler/Spider)的人都会定义一套类似的模板。只不过Parsley还帮你把具体实现做了,用各种开发语言。

基本事实

Parselets就是用Parsley语言写成的片段(snippets)。

你可以近似认为一个Parselet定义了一套动作,描述如何从html代码中精确抽取数据,比如标题在哪儿,标题的链接怎么拿,评论数在哪儿如何提取。

Parsley有各种语言实现包,Ruby、Python、C/C++等。
pyparsley是对应的Python库。

 

Code和Result示例

具体例子参见:http://parselets.com/parselets/yc/15 ,

Code

左侧的Code就是我们通常说的模板,右边的Result就是提取的结构化数据。

那么它是如何变为现实的呢?

 

实现

安装Parsley,再安装http://github.com/fizx/pyparsley,然后运行如下Python代码,就可以从给定网页链接,通过Parselet的描述,获得json格式的结构化数据。

Python

 

zhengyun 20091127 beijing

目录
相关文章
|
数据采集 JavaScript 前端开发
从网页中提取结构化数据:Puppeteer和Cheerio的高级技巧
在本文中,我们将介绍两个常用的网页数据抓取工具:Puppeteer和Cheerio。Puppeteer是一个基于Node.js的无头浏览器库,它可以模拟浏览器的行为,如打开网页、点击元素、填写表单等。Cheerio是一个基于jQuery的HTML解析库,它可以方便地从HTML文档中提取数据,如选择器、属性、文本等。我们将结合这两个工具,展示如何从网页中提取结构化数据,并给出一些高级技巧,如使用代理IP、处理动态内容、优化性能等。
269 1
从网页中提取结构化数据:Puppeteer和Cheerio的高级技巧
|
5天前
|
自然语言处理 资源调度 前端开发
前端大模型入门(四):不同文本分割器对比和效果展示-教你如何根据场景选择合适的长文本分割方式
本文详细介绍了五种Langchain文本分割器:`CharacterTextSplitter`、`RecursiveCharacterTextSplitter`、`TokenTextSplitter`、`MarkdownTextSplitter` 和 `LatexTextSplitter`,从原理、优缺点及适用场景等方面进行了对比分析,旨在帮助开发者选择最适合当前需求的文本分割工具,提高大模型应用的处理效率和效果。
|
1月前
|
数据采集 JavaScript 前端开发
网页抓取进阶:如何提取复杂网页信息
在信息爆炸时代,从复杂网页中高效抓取数据对开发者和分析师至关重要。本文探讨如何利用 `webpage` 对象结合代理IP技术,轻松抓取如大众点评这类动态加载且具备反爬机制的网站数据。通过 Python 的 `requests`、`BeautifulSoup` 和 `Selenium`,结合代理IP,详细讲解了如何应对动态内容加载、反爬机制等问题,并提供了具体代码实现。通过这种方法,可以批量抓取商家信息,为数据分析提供支持。
网页抓取进阶:如何提取复杂网页信息
|
18天前
|
存储 人工智能 算法
交互式 PDF 问答:检索增强生成方法
交互式 PDF 问答:检索增强生成方法
13 0
|
5月前
|
Python
如何使用正则表达式提取网页中的特定信息
如何使用正则表达式提取网页中的特定信息
123 1
|
5月前
|
自然语言处理 文字识别 数据可视化
从PDF和图像中提取文本,以供大型语言模型使用
从PDF和图像中提取文本,以供大型语言模型使用
|
12月前
|
机器学习/深度学习 自然语言处理 算法
文本数据处理:基本技巧与实例分析
文本数据处理:基本技巧与实例分析
368 0
谈一谈|Word文档图片的提取
谈一谈|Word文档图片的提取
128 0
|
数据采集 监控 应用服务中间件
一日一技:更友好的格式化数据提取方案
一日一技:更友好的格式化数据提取方案
81 0
05 # 网页的语义结构
05 # 网页的语义结构
53 0