摘要: ItemLoader 在我们执行scrapy爬取字段中,会有大量的CSS或是Xpath代码,当要爬取的网站多了,要维护起来很麻烦,为解决这类问题,我们可以根据scrapy提供的loader机制。 导入ItemLoader 实例化ItemLoader对象 要使用Itemloader,必须先将它实例化。 阅读全文
posted @ 2018-11-12 10:47 扎心了,老铁 阅读(2366) 评论(1) 推荐(1) 编辑
摘要: Item Pipeline 当Item在Spider中被收集之后,它将会被传递到Item Pipeline,这些Item Pipeline组件按定义的顺序处理Item。 每个Item Pipeline都是实现了简单方法的Python类,比如决定此Item是丢弃而存储。以下是item pipeline 阅读全文
posted @ 2018-11-12 09:14 扎心了,老铁 阅读(1416) 评论(0) 推荐(1) 编辑
摘要: 爬取所有页面 之前只是爬取某一篇文章的内容,但是如何爬取所有文章 修改start_urls = ['http://blog.jobbole.com/all-posts/'] 重新启动scrapy的shell parse函数需要做两件事 获取列表页中的所有文章URL 获取所有URL之后将其交给scra 阅读全文
posted @ 2018-11-05 15:07 扎心了,老铁 阅读(1727) 评论(0) 推荐(0) 编辑
摘要: 爬取说明 以单个页面为例,如:http://blog.jobbole.com/110287/ 我们可以提取标题、日期、多少个评论、正文内容等 Xpath介绍 1. xpath简介 (1) xpath使用路径表达式在xml和html中进行导航 (2) xpath包含标准函数库 (3) xpath是一个 阅读全文
posted @ 2018-11-05 10:48 扎心了,老铁 阅读(1914) 评论(1) 推荐(0) 编辑
摘要: Scrapy生成的项目目录 文件说明: scrapy.cfg 项目的配置信息,主要为Scrapy命令行工具提供一个基础的配置信息。(真正爬虫相关的配置信息在settings.py文件中) items.py 设置数据存储模板,用于结构化数据,如:Django的Model pipelines 数据处理行 阅读全文
posted @ 2018-10-31 16:58 扎心了,老铁 阅读(2545) 评论(0) 推荐(0) 编辑
摘要: 1) 使用scrapy自带的set集合去重,当程序结束的时候会被清空,缺点:再次运行会导致数据重复。 2) 使用mysql做去重,对url地址进行md5,base64加密,加密之后会得到一串字符,判断字符串 是否在mysql表中,如果在表示已经爬取过了,如果不在,表示没有爬取,执行请求,将加密后的u 阅读全文
posted @ 2018-10-31 16:42 扎心了,老铁 阅读(3379) 评论(0) 推荐(0) 编辑
摘要: 表达式全集 常用正则表达式 阅读全文
posted @ 2018-10-31 16:41 扎心了,老铁 阅读(1517) 评论(0) 推荐(0) 编辑
摘要: 技术选型 scrapy VS requests+beautifulsoup 1. requests+beautifulsoup都是库,而scrapy是框架 2. scrapy框架中可以加入requests+beautifulsoup 3. scrapy框架是基于twisted(异步IO框架)的,性能 阅读全文
posted @ 2018-10-31 16:35 扎心了,老铁 阅读(924) 评论(0) 推荐(2) 编辑
摘要: 原理图一 原理图二 Scrapy数据流是由执行的核心引擎(engine)控制,流程是这样的: 1、爬虫引擎获得初始请求开始抓取。 2、爬虫引擎开始请求调度程序,并准备对下一次的请求进行抓取。 3、爬虫调度器返回下一个请求给爬虫引擎。 4、引擎请求发送到下载器,通过下载中间件下载网络数据。 5、一旦下 阅读全文
posted @ 2018-10-25 16:40 扎心了,老铁 阅读(1404) 评论(0) 推荐(0) 编辑
摘要: 虚拟环境安装scrapy 在虚拟环境中执行命令 说明: 创建Scrapy项目 由于PyCharm工具无法创建scrapy项目,所以需要现在cmd中进行创建 创建EnterpriseSpider项目 按照给出的提示进行操作,其中www.ubaike.cn是红盾网的网址 之后使用PyCharm导入新创建 阅读全文
posted @ 2018-10-25 16:21 扎心了,老铁 阅读(1684) 评论(0) 推荐(0) 编辑