文档章节

使用scrapy的定制爬虫-第一章-前言

 斑ban
发布于 2013/04/02 23:37
字数 699
阅读 1554
收藏 16

这个系列文章还在逐步完成中,可能会多次编辑

这是一个系列文章,关于定制爬虫,使用scrapy.

这是前言.

爬虫,最广为所知用途是搜索引擎的网页抓取.也有很多其他的用途.
诸如各类比价网站(etao,惠惠购物助手等),信息聚合,采集站等等.这种爬虫不像通用的搜索引擎爬虫,他们往往有各自的目的,例如比价网站,其爬虫周期性的从网上获取物品的价格信息.信息聚合站点将一类信息通过爬虫采集后呈现.

在几年前比价这个概念还不像现在这样广泛时,我在一个群里听人说及他正在开发一个购物比价的产品.想着这难度还是不小的.不确定那时是否有各类成熟的框架或示例供参考.他要实现一个下载调度,解析内容,爬取策略,等等等等.实际上我当时感觉,最大的难点在于,被爬取网站每改版一次,他的解析器就得重写一次,非常麻烦.但实际上网站的改版不会如此频繁,解析内容部分对应修改即可.略惊讶的是,比价这个概念,在2000年左右就有了(如果没记错我是在http权威指南的某部分看到的).

最近我玩了一下爬虫.在此之前,我对http,web相关规范,web自动化(用于测试,我用这个来写web机器人.)也有一定了解.

在这个过程中遇到了一系列的问题.包括
1,javascript动态生成内容处理.
2,html,http等相关规范及细节问题.
3,调度,效率等.
4,大规模爬取相关...
etc...
这个系列文章将涉及这些问题.这篇文章并不是doc,tutorial性质.更多的是讲解实际问题.看之前你需要较为了解scrapy.如果你在使用scrapy定制一个你自己的爬虫,你会发现这篇文章有用之处.

为什么是scrapy,答案很简单,我比较擅长python,scrapy是一个python的爬虫框架.以scrape,spider,crawl之类关键字到pypi,google去搜索,还会找到其他一些python的爬虫框架.对于绝大多数场景,scrapy足够好.当你了解足够多觉得或许该看下其他python的爬虫框架时,你可以参考下gcrawler,它更轻.一个特性是gcrawler没有实现类似scrapy的downloader部分,因此每个request需要你自行处理如何得到对应response.这在某些时候更方便.



© 著作权归作者所有

粉丝 50
博文 9
码字总数 7142
作品 0
杭州
程序员
私信 提问
加载中

评论(1)

zhangshushu
zhangshushu
mark
Python爬虫框架Scrapy教程(1)—入门

最近实验室的项目中有一个需求是这样的,需要爬取若干个(数目不小)网站发布的文章元数据(标题、时间、正文等)。问题是这些网站都很老旧和小众,当然也不可能遵守 Microdata 这类标准。这...

蛀虫
2015/08/29
5K
0
使用python,scrapy写(定制)爬虫的经验,资料,杂。

近期找工作略不顺。技术无用。晚上写下了这点东西。 首先说下最近在找工作的x的大概相关技术加点路线。py 3年+,linux日常熟练,限于不擅web、手机app开发,一直无太好的可展示的东西。前段时...

斑ban
2013/12/27
18.1K
7
python scrapy学习笔记

scrapy是python最有名的爬虫框架之一,可以很方便的进行web抓取,并且提供了很强的定制型。 一、安装scrapy # pip install scrapy 二、基本使用 1、初始化scrapy项目 # scrapy startproject ...

yaoliang833
2016/12/27
0
0
Scrapy 1.4.0 发布,Web 爬虫框架

Scrapy 1.4.0 发布了,Scrapy 是一套基于 Twisted 的异步处理框架,纯 Python 实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片。 Scra...

局长
2017/05/19
2.4K
2
Scrapy的架构初探

Scrapy,Python开发的一个web抓取框架。 1,引言 Python即时网络爬虫启动的目标是一起把互联网变成大数据库。单纯的开放源代码并不是开源的全部,开源的核心是“开放的思想”,聚合最好的想法...

fullerhua
2016/06/12
716
4

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 不要在领导修风扇的时候打开电扇

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :《Whats Up》 主唱妹子 Lina Perry 的嗓音实在太有力了,收放自如的自信才能唱出这么优秀的歌吧!#今日歌曲推荐# 《Whats Up》-...

小小编辑
今天
7
0
SpringBoot集成Elasticsearch并进行增删改查操作

一、创建工程 使用IntelliJ创建SpringBoot工程 SpringBoot版本为2.0.4 ElasticSearch为5.6.10 删掉蓝框中的文件(如上) 最后我们的目录结构(如下) 下面pom文件主要修改的是把spring boot从Int...

一字见心
今天
5
0
x001-版本介绍

python版本介绍 目前有2 和 3 有很多企业用的代码是2版本,随着技术的发展,以后用3的会成为大趋势 python3的安装 yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-d...

侠客行之石头
今天
5
0
聊聊rocketmq的TransientStorePool

序 本文主要研究一下rocketmq的TransientStorePool TransientStorePool rocketmq-all-4.6.0-source-release/store/src/main/java/org/apache/rocketmq/store/TransientStorePool.java publi......

go4it
昨天
6
0
笔记

场外借贷, 质押 ,托管, 永续合约. 场外借贷,n签合同. 新功能 证券交易组负责中信证券机构及个人投资交易相关系统,服务机构及个人投资客户, 涉及到两融、期权、 期货、做市等境内境外创新业...

MtrS
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部