IP代理软件,http代理,API提取-黑洞HTTP

黑洞HTTP

您的位置: 首页 > 新闻资讯 > 高质量代理 > 正文

用Python函数式编程设计爬虫

发布时间:2019年02月23日 来源:互联网

大家想到函数式,估计第一时间想起的是数据,其实Python也有函数。


在数学中函数表示的未知量x通过一种运算f映射到f(x)的一种关系,即{x --->f--->f(x)},但是在计算机编程语言中函数仅是为实现某一具体功能的代码模块的统称。


函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。


1. 分组/group

数据处理中一个常见的操作,是将列表中的元素,依次每 k 个分作一组。

用Python函数式编程设计爬虫

 

顺便如果某个 k 比较常用(比如 2),还可以用 partial 封装一下

用Python函数式编程设计爬虫

 

2. 扁平版本的 map

稍微接触过函数式应该都知道 flat_map,可 Python 标准库却没有提供。下面是我在 stackoverflow 上找到的实现,其实很简单

用Python函数式编程设计爬虫

 

它和 map 的差别在于是不是扁平(flat) 的(废话。。),举个例子

用Python函数式编程设计爬虫

 

3. 上述函数的应用举例

在做爬虫工作时,有时会遇到这样的 table 元素:

用Python函数式编程设计爬虫

 

对这种 html 元素,我一般会直接把它转换成 list,结果如下:

用Python函数式编程设计爬虫

 

为了方便索引,现在我需要把上面的数据转换成下面这个样子的 dict

用Python函数式编程设计爬虫

 

如果是平常,大概需要写循环了。不过如果用刚刚说到的几个函数的话,会变得异常简单

用Python函数式编程设计爬虫


相关文章内容简介

1 用Python函数式编程设计爬虫

大家想到函数式,估计第一时间想起的是数据,其实Python也有函数。在数学中函数表示的未知量x通过一种运算f映射到f(x)的一种关系,即{x --->f--->f(x)},但是在计算机编程语言中函数仅是为实现某一具体功能的代码模块的统称。函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。1. 分组/group数据处理中一个常见的操作,是将列表中的元素,依次每 k 个分作一组。 顺便如果某个 k 比较常用(比如 2),还可以用 partial 封装一下 2. 扁平版本的 map稍微接触过函数式应该都知道 flat_map,可 Python 标准库却没有提供。下面是我在 stackoverflo [阅读全文]

热门标签

最新标签