Scrapy爬虫学习记录

昨天休息的时候偶然发现了一个的球鞋网站,上面有很多关于球鞋的资讯。于是,决定现学现卖,学习scrapy把数据都给爬下来。

故事的开端应该交代我的工具:

硬件:15寸MBP 10.10.5系统

软件:Python, Scrapy

如果你是Mac,那么你的电脑上面应该已经装好了Python了,接下来你需要装Scrapy,这些都安装好了之后你就可以开始你的爬虫之旅了。

什么是Scrapy?

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。你可以在这里看到Scrapy的更多介绍。

Python中通用的包管理工具是pip,类似于Ruby的gem, node.js的npm之类的东西啦。安装好了pip之后,你只需要一句下面的命令就装好了Scrapy。

pip install Scrapy

开始爬虫

新建一个爬虫项目

scrapy startproject sneaker

目录结构如图

目录结构图

说下里面重要的几个文件

settings.py:从名字就可以看到它是一个配置文件,里面会写上你爬虫的一些配置。

sneaker_spider.py:爬虫,真正干活的东西

items.py:爬取下来的数据,相当于是一个model

pipelines.py:当Item在Spider中被收集之后,它将会被传递到Item Pipeline,一些组件会按照一定的顺序执行对Item的处理。

这里主要需要你来完成的是sneaker_spider.py,我先上一张截图


在这个spider里面有这样几个地方你需要关注,allowed_domains,start_urls,rules。

allowed_domains:爬虫只会爬取这个名单里域名下的数据

start_urls:从哪个地址开始爬取

rules:爬取规则。爬虫会根据这里的规则对页面中出现的链接进行解析,如果匹配正则表达式的话,爬虫会对这个链接继续爬取。

在这个类里面我只写了一个函数parse_item,爬虫爬取到数据之后会丢到这里来进行解析,你可以使用Xpath表达式来取得你想要的元素。

关于Xpath,网上有很多资料可以查到,要获取到一个元素的xpath,你可以使用浏览器提供的功能来获取到,当然这里的浏览器我不包括IE,哈哈。比如chrome,你打开Inspect Element之后,选择你的目标元素,然后右键选择copy  Xpath,接下来你可以在命令行执行下面的命令验证下:

$x('your xpath')

取到你想要的数据之后,用他们来初始化你的Model就可以了,这里就是我的SneakerItem。

接下来,我需要去pipelines.py对我的item进行处理,我把它存到了一个json文件里面。

pipelines.py

运行爬虫

接下来回到你项目的根目录,然后敲下scrapy crawl sneaker,接着你会看到你的命令行里滚过一大片数据,当他停下来的时候也就大功告成了。你会看到你的目录里多了一个items.json的文件,这里面存的就是爬取下来的数据。

结尾

这只是一个爬虫的很初级的一个阶段,需要学的还有很多。比如怎样绕过网站的反爬虫机制,怎样实现一个分布式的爬虫等等。如果你觉得这篇文章对你还有那么点用,你可以请我喝瓶可乐,小瓶儿的就可以。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,373评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,732评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,163评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,700评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,036评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,425评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,737评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,421评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,141评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,398评论 2 243
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,908评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,276评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,907评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,018评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,772评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,448评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,325评论 2 261

推荐阅读更多精彩内容