博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  python之爬虫

摘要:【内容概述】 本内容将围绕网易新闻数据抓取为例,学习使用UA池、代理池及selenium在scapy框架中的应用 【需求】 抓取的是基于文字的新闻数据(国内,国际,军事、航空) 【代码】 1.在主页面中获取国内,国际,军事、航空菜单栏所对应的标题和页面url 1 def parse(self, re 阅读全文

posted @ 2019-03-26 18:45 TigerAt 阅读(1004) 评论(0) 推荐(0)

摘要:【概述】 所谓分布式爬虫就是:多台机器上可以执行同一个爬虫程序,实现网站数据的分布爬取 原生的scrapy是不可以实现分布式爬虫的,原因是:a.调度器无法共享;b.管道无法共享。 为了解决scrapy不能实现分布式的问题,scrapy-redis组件诞生,scrapy-redis组件是专门为scra 阅读全文

posted @ 2019-03-25 19:26 TigerAt 阅读(354) 评论(0) 推荐(0)

摘要:【概述】 如果我们想要对某一个网站的全站数据进行抓取,我们通常会有如下两种解决方法: 1.手动请求的发送(即基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法))代码详见:scrapy之多url页面数据的抓取 2.基于CrawlSpider的自动爬取进行 阅读全文

posted @ 2019-03-25 16:56 TigerAt 阅读(595) 评论(0) 推荐(0)

摘要:引擎(Scrapy) 用来处理整个系统的数据流处理, 触发事务(框架核心) 调度器(Scheduler) 用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列, 由它来决定下一个要抓取的网址是什么, 同时去除重复的网址 阅读全文

posted @ 2019-03-25 14:58 TigerAt 阅读(203) 评论(0) 推荐(0)

摘要:【需求】 使用scrapy抓取(’糗事百科’-‘文字’)https://www.qiushibaike.com/text/ 所有分页所对应的作者及段子信息 补充一个知识点:假如抓取的原始文字中有\r\n\t出现,则在xpath表达式中需要使用normalize-space 函数函数:语法是:norm 阅读全文

posted @ 2019-03-22 18:38 TigerAt 阅读(1915) 评论(0) 推荐(0)

摘要:【分类】 1.基于终端指令的持久化存储 2.基于管道的持久化存储 【实现方式】 1.基于终端指令的持久化存储 1)保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回 2)使用终端指令完成数据存储到指定磁盘文件 scrapy crawl 爬虫文件名称 -o 磁盘文件.后缀 示例 阅读全文

posted @ 2019-03-22 15:25 TigerAt 阅读(230) 评论(0) 推荐(0)

摘要:【scrapy简介】 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有很强通用性的项目模板。 【安装】 1)Linux/mac: pip3 install scrapy 阅读全文

posted @ 2019-03-21 15:47 TigerAt 阅读(192) 评论(0) 推荐(0)

摘要:注:此代码仅供学习参阅 阅读全文

posted @ 2019-03-20 16:40 TigerAt 阅读(177) 评论(0) 推荐(0)

摘要:注:此代码仅供学习参阅 阅读全文

posted @ 2019-03-20 16:37 TigerAt 阅读(215) 评论(0) 推荐(0)

摘要:上面的代码仅仅是用来获取对应页面数据信息,并将此页面信息进行下载,但并未将页面信息进行解析,从而无法得到我们想要的“重要信息” 其实,爬虫的最主要流程包括: 1) 指定url2) 发起请求3) 获取页面数据4) 数据解析 - 正则 - bs4 - xpath5) 持久化存储 下面我们就针对“糗事百科 阅读全文

posted @ 2019-03-14 14:32 TigerAt 阅读(226) 评论(0) 推荐(0)