黑洞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 [阅读全文]

热门标签

最新标签

推荐阅读

  1. 12

    2019-04

    为什么IP代理安全?

    信誉良好的代理服务为您提供保护,每个阶段都有适用于所有最新和最安全的协议,通常在您的每个设备上。密切关注使用承诺的代理程序的人们智能DNS实际上只是一种更直接的技术,面向那些

  2. 13

    2018-09

    代理服务器是什么意思?怎么设置?

    代理有很多种解释,而我们常常提到的代理,从计算机专业角度来说就是指代理服务器相关,针对这些问题,下面就让黑洞代理小编来告诉你,代理服务器是什么意思?怎么 设置?

  3. 13

    2018-09

    网络基础篇:IP地址和子网掩码的那些事儿

    子网掩码是每个网络工程师必须要掌握的基础知识,只有掌握它,才能够真正理解TCP/IP协议的设置。下边我们一起来复习复习。网络基础篇:IP地址和子网掩码的那些事儿!

  4. 28

    2019-05

    代理IP成为了新媒体的新宠?

    在如今新媒体发展的道路上网页代理IP可谓是功不可没,当新媒体公司通过贴吧和,一些加粉软件进行吸粉的同时,他们也意识到了单单使用这些软件对他们造成的限制,于是越来越多的公司开

  5. 27

    2019-05

    代理ip有什么资源优势?

    黑洞HTTP是国内最专业的高质量 HTTP 代理 IP 供应商!其服务宗旨在于快速解决全自动任务难题!为开发人员提供完美的代理 IP 资源解决方案。

  6. 10

    2019-05

    ip代理工具的简要介绍

    现在从事互联网方面工作的人员非常多,他们一般从事淘宝上的刷单,以及平时的网赚项目方面的工作的时候都需要获取大量的ip,在这个时候ip代理工具就派上用场了。