Python程序设计课件第14章网络爬虫应用开发.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Python程序设计课件第14章网络爬虫应用开发.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 程序设计 课件 14 网络 爬虫 应用 开发
- 资源描述:
-
1、 初识网络爬虫初识网络爬虫 网络爬虫的常用技术网络爬虫的常用技术 网络爬虫开发常用框架网络爬虫开发常用框架第14章 网络爬虫应用开发参考书目Python 程序设计目录 初识网络爬虫初识网络爬虫 网络爬虫的常用技术网络爬虫的常用技术 网络爬虫开发常用框架网络爬虫开发常用框架这里说明图片内容 初识网络爬虫初识网络爬虫 网络爬虫的常用技术网络爬虫的常用技术 网络爬虫开发常用框架网络爬虫开发常用框架目录这里说明图片内容 初识网络爬虫1 网络爬虫概述网络爬虫,即Web Spider。如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页的。即读取网
2、页的内容,找到在网页中的其它链接地址,然后通过这即读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,一直循环下去,把互联网上所有的些链接地址寻找下一个网页,一直循环下去,把互联网上所有的网页都抓取下来。网页都抓取下来。互联网中最有价值的便是数据,爬虫就是高效地挖掘这些宝藏的互联网中最有价值的便是数据,爬虫就是高效地挖掘这些宝藏的方法。方法。初识网络爬虫2 网络爬虫的分类 捜索引擎抓取系统(Baidu、等)的重要组成部分。目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。局限性:通用搜索引擎所返回的结果都是网页 基于关键字的检索,无法准确理解用户的具体
3、需求通用爬虫“面向特定主题需求”的一种网络爬虫程序 聚焦爬虫在实施网页抓取时会对内容进行处理筛选 应用于对特定信息的爬取,为某一类特定的人群提供服务聚焦爬虫初识网络爬虫3 网络爬虫的基本原理爬虫就是发送请求获取网站内容并从中提取数据的自动化程序。其中请求、提取、自动化是爬虫的关键,网络爬虫的基本流程如图:初识网络爬虫初识网络爬虫 网络爬虫的常用技术网络爬虫的常用技术 网络爬虫开发常用框架网络爬虫开发常用框架目录这里说明图片内容 网络爬虫的常用技术网络爬虫是用于数据采集的一门技术,可以帮助我们自动地进行信息的获取与筛选。网络爬虫常用技术:网络请求、headers处理、网络超时、代理服务以及Bea
4、utifulSoup等。网络爬虫的常用技术1 Python实现HTTP网络请求Python中实现HTTP网络请求常见的三种方式:urllib、urllib3以及requests。1.urllib库urlliburllib库是库是PythonPython中一个最基本的网络请求库。可以模拟浏览器的行中一个最基本的网络请求库。可以模拟浏览器的行为,向指定的服务器发送一个请求,并可以保存服务器返回的数据。在为,向指定的服务器发送一个请求,并可以保存服务器返回的数据。在Python3Python3的的urlliburllib库中,所有和网络请求相关的方法,都被集中到库中,所有和网络请求相关的方法,都被集
5、中到urllib.requesturllib.request模块下模块下网络爬虫的常用技术1 Python实现HTTP网络请求(1)urlopen()函数urllib.request.urlopen()函数用于实现对目标url的访问。urllib.request.urlopen(url,data=None,timeout,*,cafile=None,capath=None,cadefault=False,context=None)url 参数:目标资源在网路中的位置。可以是一个表示URL的字符串(如:http:/ cafile、capath、cadefault 参数:用于实现可信任的CA证书的
6、HTTP请求。(基本上很少用)context参数:实现SSL加密传输。(基本上很少用)网络爬虫的常用技术1 Python实现HTTP网络请求(2)返回处理方法详解urlopen返回对象提供方法:1)read(),readline(),readlines(),fileno(),close():对HTTPResponse类型数据进行操作2)info():返回HTTPMessage对象,表示远程服务器返回的头信息3)getcode():返回Http状态码。如果是http请求,200代码表示请求成功完成;404代码表示网址未找到。4)geturl():返回请求的url网络爬虫的常用技术1 Python
7、实现HTTP网络请求【例】利用urllib通过urlopen方式读取百度首页。#导入模块from urllib import request#打开指定需要爬取的网页resp=request.urlopen(http:/)#读取网页代码,并输出print(resp.read()网络爬虫的常用技术1 Python实现HTTP网络请求2urllib3库Urllib3是一个功能强大,条理清晰,用于HTTP客户端的Python库。Urllib3提供了很多python标准库urllib里所没有的重要特性,比如线程安全、连接池、客户端SSL/TLS验证、文件分部编码上传、协助处理重复请求和HTTP重定位、支
8、持压缩编码、支持HTTP和SOCKS代理等。安装:安装:pip install urllib3urllib3主要使用连接池进行网络请求的访问,所以访问之前我们需要创建一个连接池对象。网络爬虫的常用技术1 Python实现HTTP网络请求【例】利用urllib3通过request方式读取百度首页#导入模块import urllib3#创建PoolManager对象,用于处理与线程池的连接以及线程安全的所有细节pm=urllib3.PoolManager()#对需要爬取的网页发送请求resp=pm.request(GET,http:/)#读取网页代码,并输出print(resp.data)网络爬虫
9、的常用技术2 请求headers处理2 请求headers处理有时在请求一个网页内容时,发现无论通过GET或者是POST以及其他请求方式,都会出现403错误。这种现象多数是由于服务器拒绝了您的访问,那是因为这些网页为了防止恶意采集信息,所使用的反爬虫设置。可以通过模拟浏览器的头部信息来进行访问,这样就能解决以上反爬设置的问题。网络爬虫的常用技术2 请求headers处理【例】通过模拟浏览器的头部信息来进行访问示例。#导入模块import requests#创建需要爬取网页的地址url=http:/ NT 6.1;Win64;x64)AppleWebKit/537.36(KHTML,like G
10、ecko)Chrome/56.0.2924.87 Safari/537.36#发送网络请求resp=requests.get(url,headers=headers)#以字节流形式打印网页源码print(resp.content.decode(utf-8)网络爬虫的常用技术3 网络超时有些网络爬虫的请求可能因为网络原因无法得到响应。因此,我们可以手动设置超时时间。当请求超时后,可以采取进一步措施,例如选择直接丢弃该请求或者再重新请求一次。#导入模块import requests#循环发送请求100次for a in range(1,100):#捕获异常try:#发送网络请求,设置超时为0.5秒
11、resp =requests.get(https:/,timeout=0.5)print(resp.status_code)except Exception as e:print(异常:+str(e)网络爬虫的常用技术4 代理服务在爬取网页的过程中,经常会出现不久前可以爬取的网页现在无法爬取的情况,这是因为IP被爬取网站的服务器所屏蔽。此时代理服务可以解决该麻烦。#导入模块import requests#设置代理IP与对应的端口号proxy=http:202.205.80.132:8080,https:202.205.80.132:8080#对要爬取的网页发送网络请求resp =request
12、s.get(https:/,proxy=proxy)print(resp.content)网络爬虫的常用技术5 HTML解析之BeautifulSoupBeautifulSoup是个用于从HTML和XML文件中提取数据的Python库。BeautifulSoup提供一些简单的、函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据。它是一个工具箱,通过解析文档为用户提供需要抓取的数据。Beautiful Soup自动将输入文档转换为自动将输入文档转换为Unicode编码,输出文档转换为编码,输出文档转换为utf-8编码。编码。网络爬虫的常用技术5 HTM
展开阅读全文