摘要:快速入门接上篇学习一安装,安装后,我们利用一个简单的例子来熟悉如何使用创建一个爬虫项目。创建一个项目在已配置好的环境下输入系统将在当前目录生成一个的项目文件。这部分才是业务的核心部分。提取的方式有几种。具体代码详见入门项目
快速入门
接上篇Scrapy学习(一) 安装,安装后,我们利用一个简单的例子来熟悉如何使用Scrapy创建一个爬虫项目。
创建一个Scrapy项目在已配置好的环境下输入
scrapy startproject dmoz
系统将在当前目录生成一个myproject的项目文件。该文件的目录结构如下
dmoz/ # 项目根目录 scrapy.cfg # 项目配置文件 dmoz/ # 项目模块 __init__.py items.py # 项目item文件,有点类似Django中的模型 pipelines.py # 项目pipelines文件,负责数据的操作和存储 settings.py # 项目的设置文件. spiders/ # 项目spider目录,编写的爬虫脚步都放此目录下 __init__.py
接下来我们以dmoz.org为爬取目标。开始变现简单的爬虫项目。
编写items在items.py中编写我们所需的数据的模型
from scrapy.item import Item, Field class Website(Item): name = Field() description = Field() url = Field()
这个模型用来填充我们爬取的数据
编写Spider在spiders文件下新建爬虫文件。这部分才是业务的核心部分。
首先创建一个继承scrapy.spiders.Spider的类
并且定义如下三个属性
name 标识spider
start_urls 启动爬虫时进行爬取的url列表,默认为空
parse() 每个初始的url下载后的response都会传到该方法内,在这个方法里可以对数据进行处理。
from scrapy.spiders import Spider from scrapy.selector import Selector from dirbot.items import Website class DmozSpider(Spider): name = "dmoz" allowed_domains = ["dmoz.org"] start_urls = [ "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/", "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/", ] def parse(self, response): sites = response.css("#site-list-content > div.site-item > div.title-and-desc") items = [] for site in sites: item = Website() item["name"] = site.css( "a > div.site-title::text").extract_first().strip() item["url"] = site.xpath( "a/@href").extract_first().strip() item["description"] = site.css( "div.site-descr::text").extract_first().strip() items.append(item) return items
其中值得注意的是,在parse方法内,我们可以用Selector选择器来提取网站中我们所需的数据。提取的方式有几种。
xpath() 传入xpath表达式获取节点值
css() 传入css表达式获取节点值
re() 传入正则表达式获取节点值 # 此方法本人未测试
运行并保存数据接下来我们运行爬虫,并将爬取的数据存储到json中
其他scrapy crawl dmoz -o items.json
在运行爬虫的过程中,我遇到了如下报错:
KeyError: "Spider not found: dmoz
这个是因为我的spider类中设置的name的值和我scrapy crawl运行的spider不一致导致的。
具体代码详见:
scrapy入门项目
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/38422.html
摘要:楚江数据是专业的互联网数据技术服务,现整理出零基础如何学爬虫技术以供学习,。本文来源知乎作者路人甲链接楚江数据提供网站数据采集和爬虫软件定制开发服务,服务范围涵盖社交网络电子商务分类信息学术研究等。 楚江数据是专业的互联网数据技术服务,现整理出零基础如何学爬虫技术以供学习,http://www.chujiangdata.com。 第一:Python爬虫学习系列教程(来源于某博主:htt...
摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...
摘要:因为暂时还没有学到如何模拟登陆,所以我就先抓像豆瓣这样不需要登陆的网站上的内容。其中会回调函数,用是因为豆瓣图书并不是格式一致的。只需要在中设置项目代码地址豆瓣图书爬虫 前言 Scrapy学习(一) 安装 Scrapy学习(二) 入门 有了前两篇的基础,就可以开始互联网上爬取我们感兴趣的信息了。因为暂时还没有学到如何模拟登陆,所以我就先抓像豆瓣这样不需要登陆的网站上的内容。我的开发...
摘要:爬虫是我接触计算机编程的入门。练练练本文推荐的资源就是以项目练习带动爬虫学习,囊括了大部分爬虫工程师要求的知识点。拓展阅读一文了解爬虫与反爬虫最后,请注意,爬虫的工作机会相对较少。 爬虫是我接触计算机编程的入门。哥当年写第一行代码的时候别提有多痛苦。 本文旨在用一篇文章说透爬虫如何自学可以达到找工作的要求。 爬虫的学习就是跟着实际项目去学,每个项目会涉及到不同的知识点,项目做多了,自然...
阅读 1919·2021-11-23 09:51
阅读 815·2021-11-19 09:40
阅读 790·2021-10-27 14:20
阅读 4882·2021-10-09 09:52
阅读 3247·2021-10-09 09:44
阅读 1700·2021-10-08 10:05
阅读 4916·2021-09-09 11:47
阅读 3461·2019-08-30 12:47