Python程序设计实践 课件 ch20 网络爬虫入门_第1页
Python程序设计实践 课件 ch20 网络爬虫入门_第2页
Python程序设计实践 课件 ch20 网络爬虫入门_第3页
Python程序设计实践 课件 ch20 网络爬虫入门_第4页
Python程序设计实践 课件 ch20 网络爬虫入门_第5页
已阅读5页,还剩9页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

实验16网络爬虫入门浙江省普通本科高校“十四五”重点教材Python程序设计实践教程01获取网络信息PARTONE网络爬虫(WebCrawler)又称为网页蜘蛛、网络机器人,是一种按照一定规则自动爬取网络信息的程序或脚本。目前,网络爬虫抓取与解析的主要是特定网站中的数据。爬取网页的流程如下。①选取一些网页,将这些网页的链接地址作为种子URL。②将种子URL放入待抓取URL队列中。③爬虫从待抓取URL队列(队列先进先出)中依次读取URL,并通过DNS解析URL,把链接地址转换为网站服务器对应的IP地址。④将③中生成的IP地址和网页相对路径传输给网页下载器。⑤网页下载器将相应网页的内容下载到本地。网络爬虫(WebCrawler)又称为网页蜘蛛、网络机器人,是一种按照一定规则自动爬取网络信息的程序或脚本。目前,网络爬虫抓取与解析的主要是特定网站中的数据。⑥将⑤中下载的网页内容存储在页面模块中,等待建立索引以及进行后续处理。与此同时,将已下载的网页URL放入已抓取URL队列中,避免重复抓取网页。⑦从已下载的网页内容中抽取出所有链接,检查其是否已被抓取,若未被抓取,则将这个URL放入待抓取URL队列中。⑧重复②~⑦,直到待抓取URL队列为空。爬取网页的流程如下。爬虫是获得网页、解析网页的过程,下面介绍requests库和BeautifulSoup库的基本操作。02requests库PARTTWOrequests库提供了比标准库urllib更简洁的网页内容读取功能,是常见的网络爬虫工具之一。requests库提供了7个主要方法。request()方法是基础方法,get()、head()、post()、put()、patch()、delete()等方法均由其构造而成,如表所示。方法说明requests.request()构造一个请求,支撑其他方法requests.get()获取 HTML 网页requests.head()获取 HTML 头部信息requests.post()向 HTML 网页提交 post 请求requests.put()向 HTML 网页提交 put 请求requests.patch()向 HTML 网页提交局部修改请求requests.delete()向 HTML 网页提交删除请求通过requests库请求指定服务器的URL,请求成功后返回一个Response对象。Response对象的属性如所示。属性说明status_codeHTTP 请求的返回状态,200 表示连接成功,404 表示失败textHTTP 响应内容的字符串形式,即 URL 对应的页面内容encoding从 HTTP 请求头中猜测的响应内容编码方式apparent_encoding从内容中分析出的响应编码方式(备选编码方式)contentHTTP 响应内容的二进制数形式安装及导入requests库在Windows操作系统中安装requests库的代码如下。Robots协议Robots协议是网络爬虫协议,主要用于指导网络爬虫的爬取规则,即哪些页面可以爬取,哪些页面不能爬取。导入requests库的代码如下。pipinstallrequestsimportrequests使用requests库网络爬虫主要使用requests库的get()方法,语法格式如下。requests.get(url,params=None,**kwargs)03BeautifulSoup库PARTTHREE

BeautifulSoup4(简称bs4)是一个HTML/XML解析器,主要功能是解析和提取HTML/XML数据,它支持CSS选择器、Python标准库中的HTML解析器、lxml库中的XML解析器。BeautifulSoup库可以将复杂的HTML文档转换成树结构,树结构中的每个节点都是一个Python对象。1.安装及导入BeautifulSoup库导入BeautifulSoup库的代码如下。在Windows操作系统中安装BeautifulSoup库的代码如下。2.BeautifulSoup库的使用BeautifulSoup库的对象如表所示。对象说明Tag标签,最基本的信息组织单元;有两个非常重要的属性,分别是表示标签名字的name属性和表示标签属性的attrs属性NavigableString表示HTML中标签的文本(非属性字符串)BeautifulSoup表示HTMLDOM中的全部内容Comment表示标签内字符串的注释部分,是一种特殊的NavigableString对象2.BeautifulSoup库的使用BeautifulSoup库常用的属性和方法如表所示(设对象名为“beautsoup”)。属性和方法说明范例title获取 HTML 的标签<title>beautsoup.titletext获取 HTML 标签所返回的网页内容beautsoup.textfind()返回第一个符合条件的 HTML 标签;返回值是字符串,如果找不到则返回“None”beautsoup.find('head')find_all()返回符合条件的 HTML 标签;返回值是字符串beautsoup.find_all('a')select()返回指定的 CSS 选择器的 id 名称、class 名称或标签名称;返回值是一种列表数据类型;id 名称

温馨提示

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

评论

0/150

提交评论