上一页 1 ··· 57 58 59 60 61 62 63 64 65 ··· 106 下一页
摘要: 爬虫之图片懒加载技术、selenium和PhantomJS 图片懒加载 selenium phantomJs 谷歌无头浏览器 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- co 阅读全文
posted @ 2019-01-11 20:19 小学弟- 阅读(279) 评论(0) 推荐(0) 编辑
摘要: scrapy框架之递归解析和post请求 1.递归爬取解析多页页面数据 - 需求:将糗事百科所有页码的作者和段子内容数据进行爬取切持久化存储 - 需求分析:每一个页面对应一个url,则scrapy工程需要对每一个页码对应的url依次发起请求,然后通过对应的解析方法进行作者和段子内容的解析。 实现方案 阅读全文
posted @ 2019-01-11 20:14 小学弟- 阅读(143) 评论(0) 推荐(0) 编辑
摘要: scrapy框架的日志等级和请求传参 一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息。 - 日志信息的种类: ERROR : 一般错误 WARNING : 警告 INFO : 一般的信息 DEBUG 阅读全文
posted @ 2019-01-11 20:09 小学弟- 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 基于scrapy-redis两种形式的分布式爬虫 基于redis分布式部署 scrapy框架是否可以自己实现分布式? - 不可以。原因有二。 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls列表中的url。(多台机器无法共享同一个调度器) 阅读全文
posted @ 2019-01-11 20:07 小学弟- 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 爬虫的UA池和代理池 一.下载中间件 先祭出框架图: 下载中间件(Downloader Middlewares) 位于scrapy引擎和下载器之间的一层组件。 - 作用: (1)引擎将请求传递给下载器过程中, 下载中间件可以对请求进行一系列处理。比如设置请求的 User-Agent,设置代理等 (2 阅读全文
posted @ 2019-01-11 20:04 小学弟- 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 爬虫与反爬虫大战 爬虫与发爬虫的厮杀,一方为了拿到数据,一方为了防止爬虫拿到数据,谁是最后的赢家? 重新理解爬虫中的一些概念 爬虫:自动获取网站数据的程序反爬虫:使用技术手段防止爬虫程序爬取数据误伤:反爬虫技术将普通用户识别为爬虫,这种情况多出现在封ip中,例如学校网络、小区网络再或者网络网络都是共 阅读全文
posted @ 2019-01-11 20:01 小学弟- 阅读(386) 评论(0) 推荐(0) 编辑
摘要: scrapy分布式原理 关于Scrapy工作流程回顾 Scrapy单机架构 上图的架构其实就是一种单机架构,只在本机维护一个爬取队列,Scheduler进行调度,而要实现多态服务器共同爬取数据关键就是共享爬取队列。 分布式架构 我将上图进行再次更改 这里重要的就是我的队列通过什么维护?这里一般我们通 阅读全文
posted @ 2019-01-11 19:53 小学弟- 阅读(253) 评论(0) 推荐(0) 编辑
摘要: scrapy的中间件Download Middleware实现User-Agent随机切换 总架构理解Middleware 通过scrapy官网最新的架构图来理解: 从图中我们可以看出,在spiders和ENGINE提及ENGINE和DOWNLOADER之间都可以设置中间件,两者是双向的,并且是可以 阅读全文
posted @ 2019-01-11 19:47 小学弟- 阅读(655) 评论(0) 推荐(0) 编辑
摘要: scrapy框架中Download Middleware用法 Downloader Middleware处理的过程主要在调度器发送requests请求的时候以及网页将response结果返回给spiders的时候,所以从这里我们可以知道下载中间件是介于Scrapy的request/response处 阅读全文
posted @ 2019-01-11 19:42 小学弟- 阅读(394) 评论(0) 推荐(0) 编辑
摘要: scrapy框架持久化存储 基于终端指令的持久化存储 基于管道的持久化存储 1.基于终端指令的持久化存储 保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过终端指令的形式写入指定格式的文件中进行持久化操作。 执行输出指定格式进行存储:将爬取到的数据写入不同格 阅读全文
posted @ 2019-01-11 19:38 小学弟- 阅读(150) 评论(0) 推荐(0) 编辑
上一页 1 ··· 57 58 59 60 61 62 63 64 65 ··· 106 下一页