- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第十一章网络爬虫技术;一、学习目标:了解一些网络知识及相关的爬虫技术,学会分析
简单HTML文档,利用Python提供的第三方库提
取相应网页中的有价值的信息。
二、学习重点:requests、BeautifulSoup库的使用。
三、学习难点:分析HTML源码信息。;11.1计算机网络基础知识;为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了开放系统互联参考模型,即著名的OSI/RM模型(OpenSystemInterconnection/ReferenceModel)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。其中第四层完成数据传送服务,上面三层面向用户。;11.1.2超文本标记语言HTML;HTML,超文本标记语言.简单理解为某些字句加上标志的语言,从而实现预期的特定效果。网页正是由这种HTML语言所编写出来的。作为一套标记语言,基本上只要明白各种标记的用法就算学会了HTML。HTML的语法格式分为嵌套与非嵌套两类,嵌套格式为<标记>...</标记>,非嵌套只为<标记>。此外,根据标记的不同,有的标记附带有属性参数,则表示为<标记属性=参数值>,根据个人需要,可添加或去掉相应的属性标记。;11.2网络爬虫;11.2.1网络爬虫分类及工作原理;11.3requests库的使用;2.post请求核心代码是requests.post(url,data={请求体的字典}),具体例子如下:
importrequests
url=/post
data={name:jack,age:23}
response=requests.post(url,data=data)
print(response.text);3.获取响应信息。
通过status_code获取响应状态码。
r=requests.get(/get)
r.status_code
200
#requests内置一个状态码查询对象
print(r.status_code==requests.codes.ok)
True
#如果发生了4xx或者5xx的错误响应,可以使用raise_for_status()函数来抛出异常
bad_r=requests.get(/status/404)
bad_r.status_code
404
bad_r.raise_for_status()
Traceback(mostrecentcalllast):
Filepyshell#39,line1,inmodule
bad_r.raise_for_status()
FileC:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\models.py,line953,inraise_for_status
raiseHTTPError(http_error_msg,response=self)
requests.exceptions.HTTPError:404ClientError:NOTFOUNDforurl:/status/404
#如果请求没有发生错误,则raise_for_status()返回None;【例11-1】抓取logo.png图片,抓取的右图;11.4BeautifulSoup库的使用;11.4.2BeautifulSoup的四种对象;运行结果:
metacontent=IE=9http-equiv=X-UA-Compatible/
classbs4.element.Tag
meta
{http-equiv:X-UA-Compatible,content:IE=9}
IE=9
X-UA-Compatible;3.BeautifulSoup对象,它表示一个文档的整体,可以看做是文档树的根或者一个顶节点,文档中的所有标签及内容都是它的后代节点。通常情况下,是从它开始向下搜索或遍历文档树的。;11.4.3文档树的遍历;1.通过Tag的名字来获得Tag
print(soup.head)
headtitle欢迎登陆HTML网站首页/title/head
print(soup.title)
title欢迎登陆HTML网站首页/title
soup.find_all
您可能关注的文档
- Python程序设计语言(第二版)(微课版) 教学计划.docx
- Python程序设计语言(第二版)(微课版) 课程教学大纲.docx
- Python程序设计语言(第二版)(微课版) 课程实验大纲.docx
- Python程序设计语言(第二版)(微课版) 授课方案(思政版).docx
- Python程序设计语言(第二版)(微课版) 习题答案 李美珊.docx
- Python程序设计语言(第二版)(微课版)课件 02 基本数据类型、运算符与表达式.pptx
- Python程序设计语言(第二版)(微课版)课件 3 程序控制结构.pptx
- Python程序设计语言(第二版)(微课版)课件 04 组合数据类型.pptx
- Python程序设计语言(第二版)(微课版)课件 06 函数.pptx
- Python程序设计语言(第二版)(微课版)课件 07 文件和文件夹操作.pptx
文档评论(0)