Python人工智能技术与应用 课件 5.【课件】2-2 完成 Python 网络爬虫实训_第1页
Python人工智能技术与应用 课件 5.【课件】2-2 完成 Python 网络爬虫实训_第2页
Python人工智能技术与应用 课件 5.【课件】2-2 完成 Python 网络爬虫实训_第3页
Python人工智能技术与应用 课件 5.【课件】2-2 完成 Python 网络爬虫实训_第4页
Python人工智能技术与应用 课件 5.【课件】2-2 完成 Python 网络爬虫实训_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

《Python人工智能技术与应用》能力模块二

掌握Python人工智能的基础应用任务二完成Python网络爬虫实训TaskImport任务导入

BI产品需要大量的高质量的数据,该商业咨询公司已拥有的数据量无法形成较大的数据规模,现需要解决数据的来源问题。你作为该公司商业智能团队中的Python爬虫工程师,你的主要职责是开发和维护一个自动化的爬虫系统,从互联网上获取大量的数据。素养目标引导问题的过程中,培养学生形成勤于思考的能力获得分析解决问题以及多元化思考解决问题的方法,形成创新意识。TaskObject任务目标知识目标认识网络爬虫的基本流程。了解Python爬虫工具库及其使用方法。了解Python实现网络爬虫的流程及其Python实现。掌握使用Selenium库实现对汽车之家网站的连接和访问。技能目标掌握使用Lxml库实现对汽车之家网站的解析。掌握使用xlswriter实现对爬取后的汽车之家口碑数据进行保存。能够思考确定Python爬取汽车之家口碑数据的整体思路,培养开拓进取的职业态度。新

授CONTENTS目录网络爬虫基本流程01常见Python爬虫工具库02爬取汽车之家口碑数据项目实训0301难以满足不同用户的检索目的和需求有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾图片、数据库、音频、视频多媒体等不同数据的发现和获取基于关键字的检索难以支持基于语义信息的查询。网络爬虫基本流程搜索引擎可以帮助人们检索信息,如百度、搜狗、谷歌等,但也存在一定的局限性。01网络爬虫基本流程网络爬虫(又称网页蜘蛛,网络机器人,在FOAF社区中间,更经常地被称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫是一种程序,可以自动化地从互联网上收集信息。确定要爬取的网站和页面发送HTTP请求解析HTML内容提取数据存储数据循环迭代网络爬虫概念网络爬虫基本流程01网络爬虫基本流程当目标网站响应请求时,它会返回一个HTML文档。你需要解析HTML文档,以提取你感兴趣的信息。Python中常用的解析库有BeautifulSoup和Ixml等。解析HTML内容一旦你解析了HTML内容,你需要提取你需要的数据。你可以使用Pvthon中的正则表达式或解析库提供的工具来查找和提取信息。提取数据首先,你需要确定要爬取的网站和页面。你可以选择从一个或多个网站开始,然后选择要爬取的页面。确定要爬取的网站和页面在开始爬取之前,需要向目标网站发送HTTP请求。这可以通过使用Python中的请求库(例如Requests库)来完成。你需要向目标网站发送请求,并等待它们响应。发送HTTP请求01网络爬虫基本流程首先,你需要确定要爬取的网站和页面。你可以选择从一个或多个网站开始,然后选择要爬取的页面。确定要爬取的网站和页面在开始爬取之前,需要向目标网站发送HTTP请求。这可以通过使用Python中的请求库(例如Requests库)来完成。你需要向目标网站发送请求,并等待它们响应。发送HTTP请求网络爬虫的基本流程示意图常见Python爬虫工具库02(一)Selenium库序号描述命令1创建一个Chrome浏览器对象driver=webdriver.Chrome()2打开指定的网页driver.get(url)3查找一个网页元素,通过XPath定位element=driver.find_element_by_xpath(xpath)4查找一个网页元素,通过CSS选择器定位element=driver.find_element_by_css_selector(css_selector)5在网页元素中输入文本element.send_keys(keys)6单击网页元素element.click()7在浏览器中执行JavaScript代码driver.execute_script(script)8获取当前网页源代码driver.page_source9返回上一个网页driver.back()Python的Selenium库是一个用于自动化测试和网页爬取的工具,它可以模拟用户在浏览器中的操作,如打开网页、填写表单、点击按钮等,可以对JavaScript生成的内容进行操作,并获取网页中的数据。右表为Selenium库操作流程。常见Python爬虫工具库02(二)Lxml库Python的Lxml库是一个用于处理XML和HTML文档的Python库,它是基于C实现的,具有高性能和高效率的特点。Lxml库提供了ElementTreeAPI的增强版,支持XPath和CSS选择器等高级功能,能够对XML和HTML文档进行解析、修改和生成等操作。右表为Lxml库操作流程。序号描述命令1导入lxml库中的etree模块fromlxmlimportetree2将HTML字符串转换为lxml.etree._Element对象etree.HTML(html_string)3将HTML文件解析为lxml.etree._ElementTree对象etree.parse(file_path)4在元素中使用XPath表达式搜索子元素并返回结果列表etree.xpath(xpath_expression)5获取元素的指定属性值etree.get('attribute_name')6获取元素的文本内容etree.text7获取元素的标签名称etree.tag8获取元素的父元素etree.getparent()9查找所有具有指定标签名称的子元素etree.findall('tag_name')10查找第一个具有指定标签名称的子元素etree.find('tag_name')11返回元素的迭代器,可以使用for循环遍历子元素etree.iter()12返回元素的子元素列表etree.getchildren()13将元素及其子元素序列化为字符串etree.tostring(element)14将元素及其子元素序列化为Unicode字符串etree.tostring(element,encoding='unicode')常见Python爬虫工具库02(三)xlsxwriter库xlsxwriter是Python的第三方库,用于在Excel文件中创建和编辑电子表格。它提供了许多功能,如自动调整列宽、格式化单元格、插入图表和公式等。右表为xlsxwriter库操作流程。序号描述指令1安装xlswriterpipinstallXlsxWriter2创建Excel文件#创建一个新的Excel文件workbook=xlsxwriter.Workbook('example.xlsx')3创建工作表#创建一个名为“Sheet1”的工作表worksheet=workbook.add_worksheet('Sheet1')4编写数据#写入数据到单元格(A1)worksheet.write('A1','Hello')5指定单元格格式#创建文本格式对象text_format=workbook.add_format({'num_format':'@'})#在单元格(A2)写入文本,并应用文本格式worksheet.write('A2','World',text_format)#创建数字格式对象num_format=workbook.add_format({'num_format':'0.00'})#在单元格(B1)写入数字,并应用数字格式worksheet.write('B1',123.456,num_format)6保存Excel文件#关闭Excel文件workbook.close()03汽车之家是一个汽车行业门户网站,它提供了广泛的汽车信息,包括汽车口碑数据。汽车之家的口碑数据是基于用户提交的评论、评分和其他数据编制的。可采用如下方式实现案例:爬取汽车之家口碑数据项目实训(一)实现思路使用Selenium打开汽车之家网站

使用Lxml库解析网页

将数据保存到excel文件03爬取汽车之家口碑数据项目实训(二)实现流程使用Selenium打开汽车之家网站,获取页面的HTML源码创建一个ChromeOptions对象,并添加了一些参数来配置浏览器选项;通过指定ChromeDriver的路径和选项来创建一个WebDriver对象,用它来控制浏览器进行打开指定网页和获取网页HTML代码的操作;通过XPath解析器lxml.html.fromstring()将HTML代码转换成可操作的树形结构,返回给调用者。03爬取汽车之家口碑数据项目实训

温馨提示

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

评论

0/150

提交评论