《Python编程基础》课件-7.3爬虫基础_第1页
《Python编程基础》课件-7.3爬虫基础_第2页
《Python编程基础》课件-7.3爬虫基础_第3页
《Python编程基础》课件-7.3爬虫基础_第4页
《Python编程基础》课件-7.3爬虫基础_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

爬虫基础教学目标1.了解什么是爬虫

2.掌握使用requests库

3.掌握使用BeautifulSoup

Python爬虫(WebCrawler)是一种自动化程序,用于从网站提取数据,通过模拟浏览器请求网页、解析HTML并保存信息。核心概念:爬虫模拟HTTP请求提取数据;重要性在于自动化采集;依赖库如requests/BS4;伦理考虑合规性。1、什么是Python爬虫及其重要性

#导入requests库(需pipinstallrequests)importrequests#用于发送HTTP请求#简单GET请求示例response=requests.get('')#发送GET请求获取网页print(response.status_code)#输出200,表示成功print(response.text[:100])#输出前100字符的HTML内容#爬虫概念:检查响应(完整实现见后续页)ifresponse.ok:#检查是否成功#解析内容...else:print("Requestfailed")#处理错误用requests库发送HTTP请求是爬虫的核心,通过get/post方法获取网页响应,支持参数、headers和cookies自定义。核心概念:requests简化HTTP交互;get()获取数据;headers伪装请求;响应对象提供内容/状态。2.使用requests库发送HTTP请求importrequests#导入库#发送GET请求url='/get'#测试URLparams={'key':'value'}#查询参数headers={'User-Agent':'Mozilla/5.0'}#伪装浏览器response=requests.get(url,params=params,headers=headers)#发送请求#处理响应ifresponse.status_code==200:#检查成功print(response.json())#输出JSON响应else:print(f"Error:{response.status_code}")#输出错误码核心概念:爬虫结合请求和解析;提取使用CSS选择器;简单示例突出端到端流程。3.简单爬虫代码示例importrequests#请求库frombs4importBeautifulSoup#解析库(需pipinstallbeautifulsoup4)url=''#目标URLtry:response=requests.get(url)#发送请求response.raise_for_status()#检查错误soup=BeautifulSoup(response.text,'html.parser')#解析HTMLtitle=soup.find('title').text#提取标题print(f"PageTitle:{title}")#输出标题exceptrequests.RequestExceptionase:#处理请求异常print(f"Error:{e}")#输出错误使用BeautifulSoup解析HTML通过创建Soup对象、find/find_all方法提取元素,支持CSS选择器和属性过滤。这允许处理复杂网页结构,如导航标签树或提取特定类核心概念:BeautifulSoup构建DOM树;find()返回匹配元素;select()用CSS;解析后提取text/attrs。4.使用BeautifulSoup解析HTMLfrombs4importBeautifulSoup#导入库importrequests#请求response=requests.get('')#获取页面soup=BeautifulSoup(response.text,'html.parser')#创建Soup,指定解析器#查找元素headings=soup.find_all('h1')#所有h1标签forhinheadings:#遍历print(h.text)#输出文本#CSS选择器links=soup.select('a[href]')#所有带href的a标签print(links[0]['href'])#输出第一个链接爬虫用于数据分析、价格监控或内容聚合。核心概念:实际应用聚焦数据采集;与数据库结合存储;场景如监控/分析5.爬虫在实际场景中的应用importrequestsfrombs4importBeautifulSoupurl=''#名言网站response=requests.get(url)#请求soup=BeautifulSoup(response.text,'html.parser')#解析quotes=soup.find_all('span',class_='text')#提取名言forqinquotes[:3]:#前3个print(q.text)#输出GET请求获取资源,使用params传递查询参数。在Python中,requests.get支持timeout防止挂起。用于搜索或API调用。核心概念:GETidempotent,不修改服务器6.发送GET请求importrequests#导入params={'key':'value'}#参数字典r=requests.get("",params=params,timeout=5)#发送GET,超时5秒print(r.url)#输出:?key=valuePOST提交数据,使用data或json。在Python中,requests.post用于表单或API推送。核心概念:POST修改服务器状态7.发送POST请求importrequests#导入data={'user':'test'}#数据r=requests.post("/login",json=data)#发送POST,JSON格式print(r.json())#输出响应JSON小结1.Python爬虫是自动化程序,用于从网站提取数据,模拟浏览器请求和解析HTML。2.requests库简化HTT

温馨提示

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

评论

0/150

提交评论