AI教程网 - 未来以来,拥抱AI;新手入门,从AI教程网开始......

Scrapy简介

Scrapy教程 AI君 135℃ 0评论

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

其最初是为了 页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。

一个栗子让你秒懂scrapy

接下来我们通过scrapy最简单的功能,给你展示一下scrapy到底有多牛13,我们要做的就是用下面简单的几段代码,爬取这个网站:http://lab.scrapyd.cn
这里并非只爬取一页,如果只是一个页面,那我们Ctrl+S保存就行了,无法见证scrapy的强大,这里要爬取的是所有分页,如果有10000000个页面,这一段代码也分分钟爬取完成!
我们要爬取的是:http://lab.scrapyd.cn 这么一个网站,并且顺着下一页、下一页把所有内容爬取完,代码如下:

import scrapy
class mingyanSpider(scrapy.Spider):
    name = "quotes"
    start_urls = [
        'http://lab.scrapyd.cn/',
    ]

    def parse(self, response):
        for quote in response.css('div.quote'):
            yield {
                '内容': quote.css('span.text::text').extract_first(),
                '作者': quote.xpath('span/small/text()').extract_first(),
            }

        next_page = response.css('li.next a::attr("href")').extract_first()
        if next_page is not None:
            yield scrapy.Request(next_page, self.parse)

把这段代码保存为一个python文件,随便取个名字,比如:mingyanSpider.py,然后使用一下代码运行:

scrapy runspider mingyanSpider.py -o mingyan.json

接下来你就会发现,在同一个目录下会多出来一个mingyan.json的文件,打开看看:

[
{"内容": "少年不识愁滋味,爱上层楼。爱上层楼。为赋新词强说愁。 而今识尽愁滋味,欲说还休。欲说还休。却道天凉好个秋。 ", "作者": "辛弃疾"},
{"内容": "乙丑岁赴试并州,道逢捕雁者云:“今旦获一雁,杀之矣。其脱网者悲鸣不能去,竟自投于地而死。”予因买得之,葬之汾水之上,垒石为识,号曰“雁丘”。同行者多为赋诗,予亦有《雁丘词》。旧所作无宫商,今改定之。问世间,情为何物,直教生死相许?天南地北双飞客,老翅几回寒暑。欢乐趣,离别苦,就中更有痴儿女。君应有语:渺万里层云,千山暮雪,只影向谁去?横汾路,寂寞当年箫鼓,荒烟依旧平楚。招魂楚些何嗟及,山鬼暗... ", "作者": "元好问"},
{"内容": "《卜算子》:我住长江头,君住长江尾。日日思君不见君,共饮长江水。 此水几时休,此恨何时已。只愿君心似我心,定不负相思意。 ", "作者": "李之仪"},
{"内容": "《江城子·乙卯正月二十日夜记梦》十年生死两茫茫,不思量,自难忘。千里孤坟,无处话凄凉。纵使相逢应不识,尘满面,鬓如霜。夜来幽梦忽还乡,小轩窗,正梳妆。相顾无言,惟有泪千行。料得年年肠断处,明月夜,短松冈。(肠断 一作:断肠) ", "作者": "苏轼"},
{"内容": "《木兰花·拟古决绝词柬友》人生若只如初见,何事秋风悲画扇。等闲变却故人心,却道故人心易变。骊山语罢清宵半,泪雨霖铃终不怨。何如薄幸锦衣郎,比翼连枝当日愿。 ", "作者": "纳兰容若"},
{"内容": "成功的秘诀,在永不改变既定的目的 ", "作者": "卢梭"},
{"内容": "一个人失败的最大原因,是对自己的能力缺乏充分的信心,甚至以为自己必将失败无疑。 ", "作者": "富兰克林"},
{"内容": "有志者,事竟成,破釜沉舟,百二秦关终属楚;苦心人,天不负,卧薪尝胆,三千越甲可吞吴。 ", "作者": "有志者"},
{"内容": "人生的磨难是很多的,所以我们不可对于每一件轻微的伤害都过于敏感。在生活磨难面前,精神上的坚强和无动于衷是我们抵抗罪恶和人生意外的最好武器。 ", "作者": "洛克"},
{"内容": "多数人都拥有自己不了解的能力和机会,都有可能做到未曾梦想的事情。 ", "作者": "戴尔·卡耐基"},
{"内容": "天才是百分之一的灵感加百分之九十九的汗水。 ", "作者": "爱迪生"},
{"内容": "01.道可道,非常道。名可名,非常名。无名天地之始。有名万物之母。故常无欲以观其妙。常有欲以观其徼。此两者同出而异名,同谓之玄。玄之又玄,众妙之门。02.天下皆知美之为美,斯恶矣;皆知善之为善,斯不善已。故有无相生,难易相成,长短相形,高下相倾,音声相和,前後相随。是以圣人处无为之事,行不言之教。万物作焉而不辞。生而不有,为而不恃,功成而弗居。夫唯弗居,是以不去。03.不尚贤, 使民不争。不... ", "作者": "《道德经》全文"},
{"内容": "观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄。舍利子,色不异空,空不异色,色即是空,空即是色,受想行识亦复如是。舍利子,是诸法空相,不生不灭,不垢不净,不增不减。是故空中无色,无受想行识,无眼耳鼻舌身意,无色声香味触法,无眼界乃至无意识界,无无明亦无无明尽,乃至无老死,亦无老死尽,无苦集灭道,无智亦无得。以无所得故,菩提萨埵。依般若波罗蜜多故,心无挂碍;无挂碍故,无有恐怖,远离颠... ", "作者": "《心经》"}]

你得到的可能是一堆乱码,不用纠结,因为默认输出的是Unicode编码,转换一下就是以上的了,怎么样看到scrapy的强大了吧?

转载请注明:www.ainoob.cn » Scrapy简介

喜欢 (0)or分享 (0)

您必须 登录 才能发表评论!