Python爬虫与网络数据采集案例实践(微课视频版)课件 第1章 爬虫与网络数据采集概述_第1页
Python爬虫与网络数据采集案例实践(微课视频版)课件 第1章 爬虫与网络数据采集概述_第2页
Python爬虫与网络数据采集案例实践(微课视频版)课件 第1章 爬虫与网络数据采集概述_第3页
Python爬虫与网络数据采集案例实践(微课视频版)课件 第1章 爬虫与网络数据采集概述_第4页
Python爬虫与网络数据采集案例实践(微课视频版)课件 第1章 爬虫与网络数据采集概述_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

第1章

爬虫与网络数据采集概述学习目标知识目标(1)理解数据采集与网络爬虫的概念。(2)了解数据采集的来源与方法。(3)熟悉网络爬虫的分类与应用场景。(4)掌握网络数据采集的原理与流程。(5)了解网络数据采集的实现技术。(6)掌握Python网络爬虫环境的安装与配置。(7)掌握常用网络爬虫可视化工具的安装。学习目标能力目标(1)能够区分通用网络爬虫与聚焦网络爬虫。(2)能够概括网络爬虫采集网页的原理与流程。(3)能够安装与配置网络爬虫集成开发环境。(4)能够使用网络爬虫可视化工具完成数据采集。素质目标(1)学习数据采集的法律法规,培养法律意识与法治观念。(2)知法守法,在数据采集过程中遵循Robots协议、合理获取数据。思维导图章节内容行业PPT模板/hangye/1.21.31.4走近网络爬虫网络数据采集的工作原理与流程网络数据采集的实现技术1.51.6网络数据采集的合法性Python爬虫环境搭建1.1认识数据采集1.7综合案例—采集豆瓣读书“小说”类图书信息PATR01认识数据采集数据采集的概念数据采集:是从不同来源收集所需数据的过程。网络数据采集任务的关键步骤(1)明确采集目标:定义要获取的数据和数据的用途。(2)选择采集工具:选择合适的采集工具。(3)设置采集规则:设定适当的访问频率、定义抓取的深度和广度。(4)分析网站结构:分析目标网站的页面结构。(5)实施数据抓取:从目标网站抓取数据。(6)数据清洗:对采集的数据进行清洗和转换。(7)数据存储:存储清洗后的数据。1.1.1常见的数据来源常见的数据来源有九种:(1)网页(WebPages)(2)应用程序接口(ApplicationProgrammingInterface,API)(3)数据库(Databases)(4)日志文件(LogFiles)(5)社交媒体(SocialMedia)(6)传感器数据(SensorData)(7)开放数据集(OpenDatasets)(8)文件(Files)(9)人工采集(ManualCollection)1.1.2数据采集的方法

数据库的采集方法:SQL查询、ETL工具、数据库导出功能、编程语言接口、ORM框架和实时数据流技术。系统日志的采集方法:ApacheFlume、ELKStack、Syslog服务、容器化环境的日志采集。网络数据的采集方法:网络爬虫(WebCrawler/Spider)、API调用、RSS订阅和可视化Web数据抓取工具。感知设备数据的采集方法:传感器直接读数、数据记录仪、物联网平台和无线传感网络。1.1.2PATR02走近网络爬虫网络爬虫的概念与分类网络爬虫(WebCrawler/WebSpider):也称为网页蜘蛛或网络机器人(WebRobot),本质上是一种按照特定规则自动浏览万维网并抓取信息的计算机程序或自动化脚本。网络爬虫分类(1)通用爬虫(GeneralPurposeWebCrawler/UniversalWebCrawler):广泛地爬取整个万维网的页面,限定特定的主题。(2)聚焦爬虫(FocusedCrawler/TopicalCrawler):爬取特定主题相关的网页。(3)增量式爬虫(IncrementalWebCrawler):采集新出现的或内容发生变化的网页。(4)深层网络爬虫(DeepWebCrawler):用来尝试自动提交表单、模拟登录、处理验证过程等,以访问和抓取这类“隐藏”信息的爬虫。1.2.1爬虫的应用场景搜索引擎构建爬虫最为人熟知的应用领域。新闻聚合与内容追踪自动从各类新闻门户、博客、论坛等信息源聚合新闻文章,为用户提供一站式的信息获取途径。数据挖掘与舆情监控采集大量数据,用于分析市场动态、跟踪竞争对手情报、洞察用户反馈及消费趋势。社交媒体洞察理解用户行为趋势、评估品牌公众形象、发现新兴热门话题以及把握网络文化脉络。01030204网络安全与事件响应利用爬虫扫描网站,以监测潜在的安全风险。05教学实践与学术研究专业的教学和自动化收集特定领域的学术论文、研究报告或公开数据集,用以提升文献调研和资料获取的效率。061.2.2PATR03网络数据采集的工作原理与流程网络数据采集的工作原理发起请求采集程序模拟浏览器向目标网站的服务器发送一个请求,表明获取特定页面的内容或数据。接收响应网站服务器在接收并处理请求后,会返回一个响应。常见的响应内容是HTML代码、JSON格式的数据,或者图片、视频。解析内容使用HTML解析库,并通过XPath或CSS选择器等定位技术,从响应内容中提取目标元素。处理和存储清洗和转换提取的内容,使其规整和可用,并存储处理后干净数据。循环和遍历采集重复执行请求、接收、解析、存储的流程,访问不同网页链接实现数据的批量获取。处理反爬虫机制为了完成数据采集任务,采集程序有时需要采取反反爬策略来规避反爬虫限制。1.3.1网络数据采集的流程1.3.2网络数据采集的流程确定目标确定数据来源、数据内容、采集范围、更新频率和合法性。选择采集工具或编写代码选择实现采集需求的工具或编程语言。制定数据采集策略02采集规划、反爬虫应对、数据处理计划和规则遵循。发起请求获取数据构建HTTP请求、发送HTTP请求、等待响应、处理响应、处理异常情况、处理响应内容。010304解析和提取数据使用解析库和定位技术,从响应内容中提取数据。05数据清洗和处理对提取的数据进行清洗、转换和整理。06数据存储根据数据类型选择存储数据的格式。07

处理反爬虫机制根据反爬机制实施相应的应对措施。08监控和维护监控和维护是保障采集任务长期稳定运行的持续性工作,它与主要流程并行。091.3.2PATR04网络数据采集的实现技术网络数据采集的编程语言PythonJavaGoPHPJavaScriptRubyScalaKotlin1.4.1

网络数据采集的可视化工具八爪鱼采集器火车采集器八爪鱼是一款全网通用的互联网数据采集器,通过模拟人类浏览网页的行为,只需简单的页面点选操作,生成自动化的采集流程,进而将网页数据转换为结构化数据,并存储为EXCEL或数据库等多种形式。火车采集器是一款专业的互联网数据抓取、处理、分析及挖掘软件,能够灵活、快速且高效地从互联网抓取网页信息,并存储至本地或远程数据库,之后经过一系列的分析与处理流程,精准挖掘出所需数据。集搜客是国内早期出现的网络爬虫工具之一,可协助用户抓取各类网站信息,并进行结构化处理与分析。它具备强大的定制化能力,用户可以根据需求设置爬虫规则,对抓取到的数据进行清洗、筛选、转换等操作GooSeeker集搜客1.4.2

网络数据采集的可视化工具后羿采集器ParseHub后羿采集器是一款基于人工智能技术的数据采集软件,通过计算机视觉技术与概念自动识别采集内容,用户无任何编程基础,也可以完成数据采集工作。ParseHub是一款免费且无需编码的云端可视化爬虫工具。用户通过点选与操作来定义数据提取规则,支持运用了AJAX、JavaScript、Cookie等技术的网站抓取数据。Octoparse是八爪鱼的海外版本,这款桌面应用软件具备强大的可视化操作界面,该工具提供XPath设置,可精准定位网页数据元素,支持导出多种格式的数据文件,如CSV、Excle、XML等。Octoparse1.4.2

网络数据采集的可视化工具ScrapyHubApifyScrapyHub是一个基于Scrapy框架的云端爬虫平台。它提供了一个简洁易用的Web界面,便于用户管理与运行自身的爬虫。Apify是全球较大的免费网络爬虫平台之一。它支持JavaScript和Node.js开发,提供了一个便捷易用的API和Web界面,使用户能够快速构建自身的爬虫。1.4.2PATR05网络数据采集的合法性Robtos协议Robots.txt:是一种存置于网站根目录下的文本文件,其主要用途在于向网络爬虫指明哪些页面能够被访问,哪些页面不应被访问。Robots.txt文件的常见用途与格式有如下几个方面:(1)指定爬虫访问权限:通过指定User-Agent和Disallow字段,对不同爬虫对网站的访问权限予以规定。(2)允许访问的路径:允许搜索引擎访问的路径与页面可以通过Allow字段予以指定。(3)特殊指令:除了Disallow和Allow指令之外,还存在其他一些特殊指令。例如,Sitemap指令可用于指定网站地图的位置。1.5.1Robtos协议【例1-1】Robots.txt文件。1 User-Agent:*2 Disallow:/private/3 Disallow:/admin/4 Allow:/public/5 Sitemap:/sitemap.xml1.5.1防爬虫的措施Robots.txt文件网站可运用Robots.txt文件来指示搜索引擎爬虫能够爬取的目标网站页面。验证码和人机验证在网站上设置验证码或人机验证机制,要求用户进行验证之后方可访问特定页面。IP封锁和限制访问频率网站可能会对访问频率予以监控,并限制来自单个IP地址的访问频率。动态页面加载和渲染部分网站采用JavaScript或动态加载内容的方式来呈现页面内容,这会可能让爬虫较难获取完整数据。01030204Cookie验证和会话跟踪网站可能借助Cookie进行用户识别与会话跟踪,未携带合适Cookie信息的访问可能会被视作非法访。05User-Agent检测和反爬虫算法网站可能会检测访问请求中的User-Agent信息,以此识别出可能的爬虫程序。061.5.2数据采集合法性案例数据采集的合法性是网络爬虫技术应用与数据科学实践中的基石。它不仅关乎个人隐私权益与企业商业利益的保护,更是企业建立公信力、实现长期可持续发展的核心保障。忽视数据采集的法律边界,可能给企业带来严峻的法律制裁、经济损失乃至声誉危机,对其发展轨迹产生深远负面影响。一个突出的反面案例发生在2022年。科技巨头Google公司与美国40个州的检察长联盟达成了一项总额高达3.915亿美元的和解协议。1.5.3PATR06Python爬虫环境搭建Python版本简介与安装1.6.1Python发展历程概述1)3.5引入async/await,革新异步编程。2)3.6带来f-strings,简化字符串格式化。3)3.7保证字典插入顺序,并优化性能。4)3.8加入赋值表达式(海象运算符:=)。5)3.9新增字典合并操作符,改进类型提示。6)3.10引入结构化模式匹配(match/case)。7)3.11对CPython解释器进行重大性能优化,引入异常组。8)3.12继续性能改进,增强f-string功能,提升子解释器隔离性。9)3.13则在探索移除全局解释器锁(GIL)以支持更精细的并行能力、引入可选的JIT编译器、进一步优化性能等方面持续推进。Python版本简介与安装1.6.1Python3.13的安装

访问Python官方网站下载并安装Python3.13。PyCharm的安装与配置1.6.2常见的PythonIDE概述PyCharmVisualStudioCode由JetBrains公司开发的强大PythonIDE。本书将会介绍其安装与配置,且书中爬虫代码均在PyCharm开发环境中编写与调试。微软推出的轻量级、免费且开源的软件。支持MacOS、Windows、Linux等多平台运行,保障开发人员工作效率与可移植性。面向数据科学的PythonIDE,集成IPython控制台、变量浏览器、绘图工具等。SpyderJupyterNotebook基于网页的交互计算应用程序,可应用于开发、文档编写、代码运行与结果展示的全过程。Python的官方IDE,随Python安装附带。IDLEPyCharm的安装与配置1.6.2安装PyCharm(1)打开PyCharm官方网站,单击Download按钮。(2)选择Windows系统的“PyCharmCommuntityEdition”,再次单击Download按钮下载安装包。(3)下载完成后,双击安装包,如pycharm-community-2024.3.5.exe,打开PyCharm安装界面。(4)设置PyCharm的安装路径,然后单击“下一步”按钮。(5)勾选在新界面中所有安装选项。(6)单击“安装”按钮,开始默认安装PyCharm。安装完成后单击“完成”按钮结束安装流程。PyCharm的安装与配置1.6.2配置PyCharm(1)双击打开PyCharm,选择“NewProject”选项创建新项目。(2)打开“NewProject”窗口,设置项目存储路径,如C:\BigData\crawlProject,新项目名称设定为“crawlProject”,IDE会默认关联Python解释器,再单击“Create”按钮创建新项目。PyCharm的安装与配置1.6.2配置PyCharm(3)进入PyCharm界面后,可以设置主题。选择File→Settings...选项,如下图所示。PyCharm的安装与配置1.6.2配置PyCharm(4)进入“Settings”界面后,选择Appearance&Behavior->Appearance选项,在该界面中从“Theme”下拉列表中选择界面的主题,以及在“Editorcolorscheme:”下拉列表中选择编辑器颜色风格,如下图所示。PyCharm的安装与配置1.6.2配置PyCharm(5)在“Setting”界面中,依次选择Project:CrawlProject->PythonInterpreter选项,在“PythonInterpreter”选项中设置项目的Python解释器为“Python3.13”,如下图所示。PyCharm的安装与配置1.6.2使用PyCharm

配置完PyCharm后,通过创建一个test.py文件来演示PyCharmr使用,操作步骤如下。(1)在打开的新建项目“CrawlProject”界面中,右击“CrawlProject”项目名,在弹出的快捷菜单中选择New->PythonFile选项,如右图所示。PyCharm的安装与配置1.6.2使用PyCharm(2)在弹出的“NewPythonfile”对话框中输入文件名“test”,即可新建test.py文件,如右图所示。(3)按“Enter”键打开test.py文件,进入PyCharm界面,在代码编辑区输入测试代码“print("Haveagoodday!")”,然后单击工具栏中的“运行”按钮,输出的运行结果为“Haveagoodday!”(4)PyCharm界面由菜单栏、工具栏、项目结构区、代码编辑区和信息显示区构成。Python爬虫相关库的简介与安装1.6.3常用爬虫相关库的简介

常用的爬虫相关库如表1-1所示。类型库名称描述主要用途链接请求库Requests轻量级的HTTP库,用于发送HTTP请求和处理响应。发送HTTP请求,处理响应,用于网页内容的获取/en/latest/urllibPython内置的库,用于执行与URL相关的各种操作用于操作网页URL,并对网页的内容进行抓取处理/3/library/urllib.htmlSelenium自动化浏览器操作工具,用于模拟用户在网页上的交互。处理动态加载的网页内容,支持模拟用户行为,例如点击、填写表单等https://www.selenium.dev/解析库lxml高性能的XML和HTML解析库,支持XPath和CSS选择器。快速解析HTML/XML文档,提供XPath和CSS选择器,方便数据提取https://lxml.de/BeautifulSoupHTML和XML解析库,用于从网页中提取数据。解析HTML/XML文档,提取所需数据/software/BeautifulSoup/PyQuery类似于jQuery的库,用于解析HTML文档并提供类似于jQuery的选择器语法。简化在HTML文档中查找和处理数据的过程/pyquery/爬虫框架Scrapy强大的开源网络爬虫框架,用于高效地提取数据。构建爬虫项目,支持模块化结构、并发请求、中间件、管道等功能/PySpider网络爬虫系统,具有WebUI、脚本编辑器、任务监控器、项目管理以及结果处理器。构建分布式、大规模的数据抓取、清洗、处理、存储和导出,配置和监控爬虫任务/en/latest/存储库PyMySQLPython中操作MySQL数据库的一个库。将爬虫数据存储到数据MySQL数据库,可对数据库和表进行增、删、查、改等操作https://pymysql.readthedocs.io/en/latest/PyMongoPython中操作MongoDB数据库的一个库。提供Python语言访问MongoDB服务器的接口/project/pymongo/Redisredis-py是一个用于连接和操作Redis数据库的Python客户端库。使用Python脚本与Redis服务器进行通信,执行如存储、检索和删除数据等操作/project/redis/3.3.6/1.6.3常用爬虫库的安装下面介绍Requests、Selenium、lxml、BeautifulSoup、PyQuery、Scrapy和PySpider库的安装的不同安装方法。(1)使用pip工具安装爬虫库。①

无镜像安装:执行“pipinstall库名”命令。在Windows任务栏的搜索框中输入cmd,打开命令提示符,于命令提示窗口输入“pipinstallrequests”,按Enter键,便可安装requests库。若安装成功,将会提示“successfully”,如右图所示。Python爬虫相关库的简介与安装1.6.3常用爬虫相关库的安装②

镜像安装:执行“pipinstall-i镜像源地址

库名”命令。例如,使用清华大学镜像源“/simple”安装lxml库,在命令提示窗口输入“pipinstall-i/simplelxml”,按Enter键,即可成功安装lxml库,如下图所示。Python爬虫相关库的简介与安装1.6.3常用爬虫相关库的安装(2)在PyCharm中安装爬虫库。①

安装单个库1)在PyCharm界面中,选择“File”->“Settings”命令,在打开的“Settings”对话框中选择“PythonInterpreter”命令,接着单击右侧窗口的“+”,如右图所示。Python爬虫相关库的简介与安装1.6.3常用爬虫相关库的安装(2)在PyCharm中安装爬虫库。2)在打开的“AvailablePackages”窗口的搜索框中输入“bs4”,然后单击窗口左下方的“InstallPackage”按钮。安装成功后,会在窗口的下方显示“Package‘bs4’installsuccessfully”信息,如右图所示。Python爬虫相关库的简介与安装1.6.3常用爬虫相关库的安装②

批量安装库。1)在工程文件的根目录“CrawlProject”新建一个txt文件,如library.txt(文件名可自定义),在library.txt文件中输入需要安装的爬虫库名称:Selenium、PyQuery、Scrapy,如右图所示。Python爬虫相关库的简介与安装1.6.3常用爬虫相关库的安装②

批量安装库。2)打开PyCharm底部工具栏的terminal(终端)窗口,在终端窗口中输入“pipinstall-rlibrary”命令,如下图所示。按回车键执行命令即可成功安装Selenium、PyQuery、Scrapy这三个库。Python爬虫相关库的简介与安装1.6.4八爪鱼采集器(Octoparse)作为一款用于抓取网页数据的网络爬虫工具,能够便捷且迅速地将网页数据转换为结构化数据,并存储于EXCEL或数据库等多种形式之中。同时,它还提供基于云计算的大数据云采集解决方案,可达成精准、高效且大规模的数据采集任务,广泛应用于数据挖掘、竞争情报、市场研究、数据分析等诸多领域。其安装步骤如下:(1)打开八爪鱼采集器的官方网站,选择“产品”选项,选定“SaaS版”,在新打开的页面中单击“免费下载按钮。(2)双击下载的软件安装包,如“OctopusSetup8.7.2.exe”,开启“Octopus安装”窗口,在“目标文件夹”处设置安装路径,然后单击“安装”按钮。(3)等待软件安装完成后,单击“完成”按钮。(4)双击“打开八爪鱼采集器”快捷方式,打开八爪鱼采集器界面。八爪鱼采集器的安装PATR07综合案例—采集豆瓣读书“小说”类图书信息1本案例旨在采集豆瓣读书栏目中“小说”类别的图书信息,打开目标网站地址/tag/%E5%B0%8F%E8%AF%B4,需要采集的图书字段包括作者、出版社、出版时间、价格、评分、评价人数以及简介,相关信息展示如下图所示,要求采集涵盖所有“小说”类图书信息。数据采集需求2(1)启动八爪鱼采集器,点击左侧菜单栏的“新建”命令,选取“自定义任务”。在弹出的“任务:新建任务”窗口中,在任务组文本框内输入:采集豆瓣读书“小说”图书信息,并在“网址”列表输入采集的目标网址,如下图所示,随后单击“保存设置”按钮。

数据采集实现2(2)八爪鱼采集器将自动识别网页数据并配置采集规则。在生成预设的采集规则后,用户需检查页面底部“数据预览”中的数据字段是否与采集需求相符,如下图所示。确认采集字段无误后,单击“生成采集设置”按钮。

数据采集实现2(3)此时,用户可在客户端右侧查看到采集规则,底部绿色的预选字段将变为白色,单击右侧的“点击翻页”按键,可以查看并预览下一页面的图书采集信息,如下图所示,接着,单击“保存并开始采集”按钮,启动采集页面。

数据采集实现2(4)在新弹出的对话框中选择采集方式,即本地采集或者云采集,此处选择“本地采集”中的“普通模式”,如下图所示。

数据采集实现2单击图1的“普通模式”按钮,用户可以观察到数据采集正在进行,如图2所示。

数据采集实现图1图22(5)当数据采集完成后,从下图的对话框中能够得知共采集到280条记录。单击中的“导出数据”按钮,打开“导出本地数据(豆瓣图书标签:小说)”对话框,在该对话框内选择导出文件类型,例如选择导出文件类型为“CSV文件”。将采集到的280条“小说”类图书信息存储至“豆瓣读书“小说”类图书信息.csv”文件。

数据采集实现网络数据采集活动常置于复杂的法律、伦理与商业情境之中。作为数据采集项目的参与者或负责人,既要服务于企业获取竞争优势的需求,又必须严格遵守相关法律法规与职业道德。请结合本章所学内容,思考以下问题:(1)在规划网络数据采集项目时,为了确保其合法性、合乎道德且能平衡相关方的权益,需要从哪些关键维度审慎确定数据的采集范围、内容与技术实现方式?(2)当采集目标为竞争对手的公开信息时,如何依据《反不正当竞争法》等相关法律法规及公认的商业道德准则,来界定合法的采集边界?请阐述在制定具体采集策略时,应如何平衡企业信息需求与避免构成不正当竞争行为,并分析可能遇到的技术或法律挑战及应对思路。(3)假设在项目执行中,面临紧迫的业务需求或进度压力,团队成员提议采用“边缘性”或存在法律合法争议的技术手段以获取数据。作为团队一员或负责人,你应如何基于职业道德规范与社会责任感,有效地说服团队放弃此类高风险方案,并引导项目回归合法的技术路径?请列出具体的沟通策略与行动步骤。(4)探讨企业可以采取哪些长效机制,以系统性地提升数据采集团队及相关人员的法律意识、技术规范认知与道德素养,从而在组织层面保障数据采集活动的正当性与可持续性?可结合具体实例或设想场景进行说明。

思考题实训1Python网络爬虫环境搭建与配置1.实训目标(1)掌握在Windows操作系统上安装Python解释器。(2)掌握在Windows操作系统上安装Python集成开发环境PyCharm。(3)学会通过Settings设置PyCharm环境、PythonInterpreter。(4)能够使用pip安装Python网络爬虫常用库,如requests、lxml等。(5)掌握在PyCharm中安装Python网络爬虫常用库,如Scrapy、BeautifulSoup等。

温馨提示

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

最新文档

评论

0/150

提交评论