- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
scrapy入门经典要点
Scrapy入门
scrapy简介
Scrapy,Python开发的一个快速,灵活,可扩展性高的web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy可以用于数据挖掘、监测和自动化测试。
Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider爬虫等,继承这些基类可以轻松实现自己的爬虫。
内容
安装scrapy
创建一个Scrapy项目
定义提取的Item
编写爬取网站的 spider 并提取 Item
编写 Item Pipeline 来存储提取到的Item(即数据)
安装
下列的安装步骤假定您已经安装好下列程序:
Python 2.7
/
Python Package: pip and setuptools. 现在 pip 依赖 setuptools ,如果未安装,则会自动安装setuptools 。
https://pip.pypa.io/en/latest/installing/
lxml. 大多数Linux发行版自带了lxml。如果缺失,请查看http://lxml.de/installation.html
OpenSSL. 除了Windows之外的系统都已经提供。
您可以使用pip来安装Scrapy(推荐使用pip来安装Python package).
使用pip安装:
pip install Scrapy
创建项目
在开始爬取之前,您必须创建一个新的Scrapy项目。 进入您打算存储代码的目录中,运行下列命令:
scrapy startproject tutorial
该命令将会创建包含下列内容的 tutorial 目录:
这些文件分别是:
scrapy.cfg: 项目的配置文件
tutorial/: 该项目的python模块。之后您将在此加入代码。
tutorial/items.py: 项目中的item文件.
tutorial/pipelines.py: 项目中的pipelines文件.
tutorial/settings.py: 项目的设置文件.
tutorial/spiders/: 放置spider代码的目录.
定义Item
Item 是保存爬取到的数据的容器;其使用方法和python字典类似, 并且提供了额外保护机制来避免拼写错误导致的未定义字段错误。
类似在ORM中做的一样,您可以通过创建一个 scrapy.Item 类, 并且定义类型为 scrapy.Field 的类属性来定义一个Item。
我们需要从dmoz中获取名字,url,以及网站的描述。 对此,在item中定义相应的字段。编辑 tutorial 目录中的 items.py 文件:
编写第一个爬虫(Spider)
Spider是用户编写用于从单个网站(或者一些网站)爬取数据的类。
其包含了一个用于下载的初始URL,如何跟进网页中的链接以及如何分析页面中的内容, 提取生成 item 的方法。
为了创建一个Spider,您必须继承 scrapy.Spider 类, 且定义以下三个属性:
name: 用于区别Spider。 该名字必须是唯一的,您不可以为不同的Spider设定相同的名字。
start_urls: 包含了Spider在启动时进行爬取的url列表。 因此,第一个被获取到的页面将是其中之一。 后续的URL则从初始的URL获取到的数据中提取。
parse() 是spider的一个方法。 被调用时,每个初始URL完成下载后生成的 Response 对象将会作为唯一的参数传递给该函数。 该方法负责解析返回的数据(response data),提取数据(生成item)以及生成需要进一步处理的URL的 Request 对象。
以下为我们的第一个Spider代码,保存在 tutorial/spiders 目录下的 dmoz_spider.py 文件中:
爬取
进入项目的根目录,执行下列命令启动spider:
scrapy crawl dmoz
crawl dmoz 启动用于爬取 的spider,您将得到类似的输出:
提取Item
Selectors选择器简介
从网页中提取数据有很多方法。Scrapy使用了一种基于 XPath 和 CSS 表达式机制: Scrapy Selectors 。
这里给出XPath表达式的例子及对应的含义:
/html/head/title: 选择HTML文档中 head 标签内的 title 元素
/html/head/title/text(): 选择上面提到的 title 元素的文字
//td: 选择所有的 td 元素
//div[@class=mine]: 选择所有具有 class=mine 属性的 div 元素
提取数据
现在,
您可能关注的文档
最近下载
- 送货单模板[共1页].doc VIP
- (高清版)B-T 9797-2022 金属及其他无机覆盖层 镍、镍+铬、铜+镍和铜+镍+铬电镀层.pdf VIP
- 学校学师德问题报告制度.docx VIP
- 精品解析:2024年四川省绵阳市中考数学一诊试题(原卷版).docx VIP
- (统编版2024新教材)语文一年级上册全册《字音辨析》知识点+练习(含答案).docx
- 水果店的创业计划书.docx VIP
- 传染病报告卡最新版本.doc VIP
- [入党个人自传格式]入党个人自传范文.doc VIP
- (新版)消防设施操作员(基础知识)考试题库(完整版).docx VIP
- - 麻纤维的形成 及特性 - 棉纤维的形成 及特性 - .ppt VIP
原创力文档


文档评论(0)