大数据爬虫技术黄源课后参考问题_第1页
大数据爬虫技术黄源课后参考问题_第2页
大数据爬虫技术黄源课后参考问题_第3页
大数据爬虫技术黄源课后参考问题_第4页
大数据爬虫技术黄源课后参考问题_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简答题1.简述网络爬虫的运行机制。爬虫从一个或若干种子页面开始,获得种子页面上的链接,并根据需求来追踪其中的一些链接,达到遍历所有网页的目的。在抓取网页的过程中,一方面提取需要的数据信息,另外一方面从当前页面上抽取新的网页地址放入待处理队列,直到满足系统一定的停止条件2.简述网络爬虫的请求与响应的基本原理。HTTP由两部分组成:请求和响应。当人们在Web浏览器中输入一个URL时,浏览器将根据要求创建并发送请求,该请求包含所输入的URL以及一些与浏览器本身相关的信息。当服务器收到这个请求时将返回一个响应,该响应包括与该请求相关的信息以及位于指定URL(如果有的话)的数据。(1)Request(请求)每一个用户打开的网页都必须在最开始由用户向服务器发送访问的请求。一般来讲,一个HTTP请求报文由请求行(requestline)、请求头部(headers)、空行(blankline)和请求数据(requestbody)4个部分组成。(2)Response(响应)服务器在接收到用户的请求后,会验证请求的有效性,然后向用户发送相应的内容。客户端接收到服务器的相应内容后,再将此内容展示出来,以供用户浏览。3.简述如何安装与运行Python。用户可直接登录Python官网,/中直接下载Python的安装程序包,如若是安装在Windows操作系统上的Python,请下载“64位下载Windowsx86-64executableinstaller”版本简答题1.简述urllib库的特点。Pythonurllib库用于操作网页URL,并对网页的内容进行抓取处理。urllib是URL和lib两个单词共同构成的,URL就是网页的地址,lib是library(库)的缩写。严格的讲,urllib并不是一个模块,它其实是一个包(package),里边总共有四个模块。因此它包含了对服务器请求的发出、跳转、代理和安全等各个方面的内容。2.简述BeautifulSoup库中的对象。BeautifulSoup将复杂的HTML文档转换为一个树形结构来读取,其中树形结构中的每个节点都是Python对象,并且所有对象都可以归纳为Tag、NavigableString、BeautifulSoup以及Comment等4种。3.简述JsonPath的常见语法。符号描述$根节点@当前节点*匹配所有节点...不管在任何位置,选取符合条件的节点[,]支持迭代器中做多选?()支持过滤操作()支持表达式操作.or[]取子节点[start:end]数组区间,不包含end4.简述基础爬虫框架的模块。基础爬虫框架主要包括五大模块,分别为爬虫调度器、URL管理器、HTML下载器、HTML解析器和数据存储器。简答题1.简述MySQL数据库的特点。MySQL数据库的特点和优势如下:1、MySQL性能卓越、服务稳定,很少出现异常宕机。2、MySQL开放源代码且无版权制约,自主性及使用成本低。3、MySQL历史悠久,用户使用活跃,遇到问题可以寻求帮助。4、MySQL体积小,安装方便,易于维护。5、MySQL口碑效应好,LAMP、LNMP流行架构。6、MySQL支持多种操作系统,提供多种API接口,支持多种开发语言,特别是PHP。2.简述SQL语言的分类。SQL语言通常分为五类:DDL(数据定义语言):create、alter、drop等;DQL(数据查询语言):select等;DML(数据操纵语言):insert、delete、update等;TCL(事务控制语言):commit、rollback等;DCL(数据控制语言):grant、revoke等。3.简述Python操作MySQL数据库的步聚。通过PyMySQL的connect方法声明一个MySQL连接对象db,此时需要传入MySQL运行的host(即IP)。由于MySQL在本地运行,所以传入的是localhost。如果MySQL在远程运行,则传入其公网IP地址。后续的参数user即用户名,password即密码,port即端口(默认为3306)。连接成功后,需要再调用cursor方法获得MySQL的操作游标,利用游标来执行SQL语句。这里我们执行了两句SQL,直接用execute方法执行即可。第一句SQL用于获得MySQL的当前版本,然后调用fetchone方法获得第一条数据,也就得到了版本号。第二句SQL执行创建数据库的操作,数据库名叫作spiders,默认编码为UTF-8。由于该语句不是查询语句,所以直接执行后就成功创建了数据库spiders。接着,再利用这个数据库进行后续的操作。简答题1.简述如何安装Scrapy框架。在安装Scrapy框架之前,必须依次安装twiste包、whl包、lxml包、erface包、pywin32包和pyOpenSSL包。并在上述包全部安装完成后,运行命令:pipinstallscrapy来安装Scrapy框架。2.简述Scrapy框架的基本原理。Scrapy框架由ScrapyEngine、Scheduler、Downloader、Spiders、ItemPipeline、Downloadermiddlewares以及Spidermiddlewares等部分组成当Spider要爬取某URL地址的页面时,首先用该URL构造一个Request对象,提交给Engine,随后Request对象进入Scheduler,按照某种调度算法排队,之后的某个时候从队列中出来,由Engine提交给Downloader。Downloader根据Request对象中的URL地址发送一次HTTP请求到目标网站服务器,并接受服务器返回的HTTP响应,构建一个Response对象,并有Engine将Response提交给Spider。Spider提取Response中的数据,构造出Item对象或者根据新的连接构造出Request对象。分别由Engine提交给ItemPipeline或者Scheduler这个过程反复进行,直至爬完所有的数据。同时,数据对象在出入Spider和Downloader时可能会经过Middleware进行进一步的处理。3.简述如何Scrapy项目。创建一个最简单的Spider项目。(1)在D盘根目录中创建文件夹,名称为“spider”。(2)使用Scrapy创建爬虫项目,进入已经创建好的文件夹,并使用命令“scrapystartprojectmyspider”来创建项目简答题1.简述什么是动态网页。动态网页页面代码虽然没有变,但显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,只要采用了\t"/item/%E5%8A%A8%E6%80%81%E7%BD%91%E9%A1%B5/_blank"动态网站技术生成的网页都可以称为动态网页。现在主流网站基本上都是动态网页,这些网页大多使用JavaScript展现网页内容,与静态网页不同的是,使用JavaScript时,很多内容并不会出现在HTML源代码中。2.简述动态网页的三个特征。从源代码的特征看,动态网页的数据不会出现在网页源代码中,而是被“藏”起来了。从网址特征看,请求新数据时(如下拉或翻页),当前网页数据内容已更新变化,而网址不会变化。从技术特征看,常用动态网页技术。3.简述动态网页的工作原理。当用户请求的是一个动态网页时,服务器要做更多的工作才能把用户请求的信息发送回去,服务器一般按照以下步骤进行工作。步骤1:服务器端接受请求。步骤2:Web服务器从服务器硬盘指定的位置或内存中读取动态网页文件。步骤3:执行网页文件的程序代码,将含有程序代码的动态网页转化为标准的静态页面(如HTML)。步骤4:Web服务器将生成的静态页面代码发送给请求浏览器。4.简述什么是AJAX。AsynchronousJavascriptAndXML(简称“AJAX”),也就是异步JavaScript和XML。5.简述爬取动态网页数据的步骤。具体来看,爬取动态网页数据主要可分为以下步骤。步骤1:分析网页结构,查找数据接口;步骤2:构造请求头,请求接口数据;步骤3:解析接口数据;步骤4:储存数据;如果涉及多页的数据,需要分析接口的变化规律,参看以下步骤。步骤1:分析单页网页结构,查找数据接口;步骤2:分析接口变化规律,构造接口参数;步骤3:循环请求、获取并解析数据;步骤4:储存数据。6.简述异步GET与POST请求方式。同步GET与POST是最常见的点击刷新模式,单击连接或提交表单,刷新整个页面。异步GET与POST是\t"/weixin_42675177/article/details/_blank"AJAX的常见应用,单击连接或提交表单的返回对象是一个不可见层,然后使用JavaScript根据返回的数据改变当前页面显示。简答题1.简述什么是文本分词。在做文本挖掘的时候,首先要做的预处理就是分词。文本分词是将字符串划分为有意义的单词的过程,如词语、句子或主题等。英文单词天然有空格隔开,容易按照空格分词,但有时候也需要把多个单词做为一个分词,比如“NewYork”等名词,需要做为一个词看待。而中文由于没有空格,分词就是一个需要专门去解决的问题了。2.简述numpy创建数组的方法。在numpy库中创建数组可以使用如下语法:numpy.array该语句表示通过引入numpy库创建了一个ndarray对象。在创建数组时,可以加入如下参数:numpy.array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0)3.简述pandas读取csv文件的方法。使用pandas

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论