Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1886416
  • 博文数量: 2460
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 24729
  • 用 户 组: 普通用户
  • 注册时间: 2020-11-26 14:30
个人简介

更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号

文章分类

全部博文(2460)

文章存档

2024年(310)

2023年(643)

2022年(693)

2021年(734)

2020年(80)

我的朋友

分类: Python/Ruby

2021-04-21 16:35:17

  Python是一门高级的编程语言,它语法简单、清晰,容易入门,可用的包、库、模块有很多,即便是初学者也能够快速实现简单的网络爬虫,那么你知道Python中爬虫模块有哪些吗?我们一起来看看吧。

  Python自带爬虫模块:urllib、urllib2;

  第三方爬虫模块:requests、aiohttp;

  爬虫框架:Scrapy、pyspider。

  Python爬虫模块优缺点介绍:

  Urllib和urllib2模块都用于请求url相关的操作,但他们提供了不同的功能。Urllib2模块中urllib2.urlopen可以接受一个Request对象或者url,且只接收一个url;urllib中有urlencode,而urllib2中没有。因此,开发人员在实际开发中经常会将urllib和urllib2一起使用。

  Requests是一个http库,仅仅用于发送请求。对于http请求而言,Requests是一个强大的库,可以自己处理下载、解析,灵活性很高,高并发与分布式部署也非常灵活,对于功能可以更好实现。

  Aiohttp是一个基于Python3的asyncio携程机制实现的一个http库,对比Requests,aiohttp自身就具备了异步功能,但只能在Python3环境中使用。

  Scrapy是封装起来的框架,包含下载器、解析器、日志及日常处理,是基于多线程的,采用twisted的方式处理。对于固定单个网站的爬取开发,Scrapy具有优势;对于多网站爬取,并发及分布式处理方面,Scrapy不够灵活,不便调整与扩展。

  Pyspider是一个重量级的爬虫框架,我们知道scrapy没有数据库集成、分布式、断点续爬的支持、UI控制界面等;若Scrapy想要实现这些功能,需要自行开发。Pyspider集成了前面这些功能,正因如此,pyspider扩展性太差,学习难度较大。

阅读(801) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~