【爬虫】Python爬虫框架Scrapy

【爬虫】Python爬虫框架Scrapy

标签(空格分隔):【爬虫】


1 Scrapy 简介

作为一个网络用户,我们经常会需要从网站上获得数据,使用类似Excel的程序进行存储,以便下次离线访问数据或者执行计算。作为一名开发者,则经常需要整合多个数据源的数据,但获得和抽取数据又十分复杂。
因此,我们需要学习爬虫技术。
Scrapy 是一个网络框架,它可以从各种数据源中抓取数据。Scrapy 可以帮助用户以有效的方式抽取大量数据,使用Scrapy,只需要进行简单的设置,就可以完成其他爬虫框架中复杂的工作。

2 HTML 和 XPath 简介

为了从网页中抽取信息,必须对网页的结构有一定的了解。


首先考虑以下步骤:我们在浏览器输入URL, 计算机将URL以及cookies等其他数据构成一个请求,用于发送到URL指向的服务器;随后,服务器端进行回应,向浏览器发送回一个HTML页面(当然,也有可能返回其他格式,例如XML、JSON,但我们只关注HTML);接着,HTML转换成浏览器内部的树状表示形式:文档对象模型(DOM, Document Object Model);最后,基于一些布局规则渲染内部,达成屏幕上现实的效果。

为了让以上过程更加容易理解,接下来我们详细来看其中的一些名词。

  • URL: 即统一资源定位符。
    对于客户而言,URL主要分为两部分:第一部分通过域名系统(DNS, Domain Name System)来在网络上定位合适的服务器,例如在浏览器中发送 https://mail.google.com/mailu/0/#inbox时,将会创建对mail.google.com的DNS请求,用来确定合适的服务器IP地址,如173.194.71.83, 因此,从本质上来看,https://mail.google.com/mailu/0/#inbox被翻译为https://173.194.71.83/mailu/0/#inbox; URL的第二部分用来确定发给服务端的请求,例如一张图片,一个文档等。

  • HTML文档:服务器端读取URL后,回应一个HTML文档,该文档本质上就是一个文本文件,我们可以用TextMate、NotePad等软件打开它。但和大多数文档不同,HTML文档具有指定的格式,我们可以在浏览器中查看网页源代码来查看HTML文件。
    同时,在HTML文件中,有一些特殊的字符:, 等见括号中间的文本被称为标签, 其中是起始标签,是结束标签,标签之中的所有东西被称为HTML元素。

  • 树表示法:HTML只是本文,而树表示法是浏览器内存中的对象,
    DOM表示法具有跨平台、语言无关等特点,被大多数浏览器支持。

  • 框模型:HTML和树表示法通过框模型来映射到屏幕上。从某种意义上说,屏幕上的图像是原始HTML文档的二维表示。

  • XPath:为了访问HTML信息,需要做很多字符串匹配、在文档中搜索标签、处理特殊情况等工作。但又有XPath语言,这些工作便都不是必需的。

我的微信公众号

在这里插入图片描述

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值