Python高级特性与网络爬虫
星风雪宇
这个作者很懒,什么都没留下…
展开
-
Python高级特性与网络爬虫(五):Scrapy框架简介
Scrapy框架简介scrapy是一个基于Twisted的异步处理框架,是一个纯Python实现的爬虫框架,其架构清晰,模块之间的耦合程度低,可扩展性很强,我们可以通过定制开发几个模块就可以实现一个功能强大的爬虫。一个Scrapy框架如下图所示主要由以下几个部分组成:Engine:引擎,处理整个系统的数据流处理、触发事务,是整个框架的核心Item:项目,它定义了爬取结果的数据结构,爬取的数据会被赋值成该Item对象Scheduler:调度器,接收引擎发过来的请求并将其加入到队列中,在引擎再次请求原创 2020-05-10 00:46:38 · 803 阅读 · 0 评论 -
Python高级特性与网络爬虫(四):异步多协程维护代理池
在做爬虫的时候,如果我们过于频繁地访问某个网站,可能会导致我们的ip被封掉,在这个时候我们需要代理来伪装自己的ip,网上的代理服务有很多,免费的和收费的都有。这些ip有的时候不太稳定,所以我们需要维护一个能够实时从代理服务网站上爬取代理ip并测试其是否可用,选取可用ip,这就需要爬取和测试一个代理池。这篇博文讲述的就是这样一个代理池的构造方法,主要涉及到的有python与redis缓存数据库的交互...原创 2020-05-01 16:28:56 · 685 阅读 · 0 评论 -
Python高级特性与网络爬虫(三):Python多进程与多线程解决数据竞争的方法
多进程通过multiprocess.Manager()解决共享变量的问题之前写多进程爬取微博用户图片的时候https://blog.csdn.net/weixin_41977332/article/details/105591034,出现一个问题,一开始想定义一个全局变量cnt_pic来计量下载了多少图片,每个进程利用multiprocessing库中提供的Lock()来解决数据竞争的问题,结果...原创 2020-04-26 11:32:42 · 428 阅读 · 0 评论 -
Python高级特性与网络爬虫(二):使用Selenium自动化测试工具爬取一号店商品信息
上一篇介绍了Ajax动态渲染的页面的分析和爬取,通过JavaScript动态渲染的页面的方式不只有ajax这一种,还有很多其他的方式,分析他们的网页结构和加密参数难度非常大,为了解决这样的页面的数据爬取,我们可以直接使用模拟浏览器运行的方式来实现。python中有很多可以模拟浏览器运行的库,其中最常用的是Selenium,它是一个自动化的web应用的软件测试工具,利用它可以驱动浏览器执行特定的动作...原创 2020-04-25 12:27:26 · 342 阅读 · 0 评论 -
Python高级特性与网络爬虫(一):使用Ajax请求爬取用户微博内容和python多进程爬取用户图片
Ajax数据爬取,Python和MongoDB的交互以及windows下python的多进程编程。原创 2020-04-18 17:20:36 · 662 阅读 · 0 评论