2020-11-30 网络爬虫
- Python3.x标准库urllib提供了urllib.request、urllib.response、urllib.parse和urllib.error四个模块,很好地支持了网页内容读取功能。再结合Python字符串方法和正则表达式,可以完成一些简单的网页内容爬取工作,也是理解和使用其他爬虫库的基础
- 使用 urllib.request.urlopen()函数可以打开一个网站,读取并打印网页信息
- urllib.urlopen(url, data[, proxies])
- urlopen()函数返回response对象
- 函数的参数url表示远程数据的路径;data表示提交到url的数据;proxies用于设置代理
- response对象的方法
1、info()方法: 返回一个httplib.HTTPMessage对象
2、getcode()方法:返回HTTP状态码。如果是HTTP请求,200表示请求成功完成,404表示网址未找到
3、geturl():返回请求的url - requests库简洁的处理HTTP请求的第三方库,建立在Python的urllib3库基础上,是对urllib3库的再封装。
- requests库包括URL获取、HTTP长连接和连接缓存、自动内容解码、文件分块上传、连接超时处理、流数据下载等功能
- requests库的requests.get()方法功能是网络爬虫和信息提交
- res=requests.get(url[,timeout=n])该函数返回的网页内容会保存为一个response对象。参数url必须采用HTTP或HTTPS方式访问,可选参数timeout用于设定每次请求超时时间
- requests.get() 返回的response对象代表响应。response对象的主要属性如下
- statuscode:返回HTTP请求的状态,200表示连接成功,404表示失败
- text:HTTP响应内容的字符串形式,即url对应的页面内容
- encoding:HTTP响应内容的编码方式
- content:HTTP响应内容的二进制形式
- Response对象提供了两个方法。
1、json():如果HTTP响应内容包含JSON格式数据,则该方法解析JSON数据。
2、raise_for_status():如果status_code值不是200,则产生异常 - beautifulsoup4库也称为bs4库或BeautifulSoup库。Python用于网页分析的第三方库,用来快速转换被抓取的网页。beautifulsoup4将网页转换为一颗DOM树。beautifulsoup4提供一些简单的方法以及类Python语法来查找、定位、修改一棵转换后的DOM树,还能自动将送进来的文档转换为Unicode编码
- beautifulsoup4库的对象
1、BeautifulSoup将HTML文档转换成一个树形结构,每个结点都是 对象,可以归纳为4种类型:Tag、NavigableString、BeautifulSoup、Comment。
2、Tag对象,HTML中的一个标签。
3、NavigableString对象,用于操纵标签内部的文字,标签的string属性返回NavigableString对象
4、BeautifulSoup对象,表示的是一个文档的全部内容,大部分时候可以把它看作是一个特殊的Tag。
5、Comment对象,是一个特殊类型的NavigableSting对象,它的内容不包括注释符号
2020-11-30 网络爬虫相关推荐
- 实验室每日一题 2020.11.30
实验室每日一题 2020.11.30 先打开没有加密的文本文档,里面有一串密文,根据结尾的+推测应该是XXencode,直接找个在线网站解密,又得到一串密文:fwilvyhublqwhuhvwlqj, ...
- 《nature》2020.11.30期,重症COVID-19的主要遗传危险因素来自尼安德特人
<nature>最新2020.11.30期快报! 1.重症COVID-19的主要遗传危险因素来自尼安德特人 严重COVID-19的风险是由一个遗传自尼安德特人的基因组片段引起的,南亚和欧洲 ...
- 网络协议从入门到底层原理(11)网络爬虫、无线网络、HTTP缓存、即时通信、流媒体
补充知识 网络爬虫 网络爬虫的简易实例 robots.txt 无线网络 HTTP 缓存(Cache) 缓存 - 响应头 缓存 - 请求头 缓存的使用流程 即时通信(IM) XMPP MQTT 流媒体 ...
- latex 插入表格_【2020.11.30】IEEE trans英文latex写作心得和学习历程
安装:texstudio+texlive(时间较长的是texlive,估计要1小时左右,建议安装的时候放在一边吃个饭回来就差不多) https://www.cnblogs.com/libbin/p/1 ...
- 【2020.11.30提高组模拟】剪辣椒(chilli)
剪辣椒(chilli) 题目描述 在花园里劳累了一上午之后,你决定用自己种的干辣椒奖励自己. 你有n个辣椒,这些辣椒用n-1条绳子连接在一起,任意两个辣椒通过用若干个绳子相连,即形成一棵树. 你决定分 ...
- python网络爬虫技术课后答案_尔雅《Python网络爬虫技术(2020年秋季学期)》网课答案...
尔雅<Python网络爬虫技术(2020年秋季学期)>网课答案 法律的一般含义是() 答:法律是由国家创制并保证实施的行为规范 下列属于急症手术的是 答:肝破裂 脾气统摄血液的功能,实际上 ...
- 30小时搞定python网络爬虫第37讲,黑马上海37期Python全套视频课程
python基础班 1-1 Linux基础 1-2 python基础 1-3 面向对象 1-4 项目飞机大战 python就业班 01 网络编程 02 多任务 03 web服务器v3.1 04 Pyt ...
- QIIME 2教程. 30补充资源SupplementaryResources(2020.11)
文章目录 补充资源 Supplementary resources 教学内容 Educational content 应用生物信息学导论 肠道检查:探索身体中的微生物群系 微生物生态学统计分析指南 译 ...
- Python 网络爬虫笔记11 -- Scrapy 实战
Python 网络爬虫笔记11 – Scrapy 实战 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Py ...
- MOOC《Python网络爬虫和信息提取》(第11次)网络爬虫之框架(第4周)
MOOC<Python网络爬虫和信息提取>(第11次)网络爬虫之框架(第4周) MOOC–Python网络爬虫和信息提取(第11次开课) 网络爬虫之框架 21.08.10 目录 文章目录 ...
最新文章
- 深度学习在人脸检测中的应用 | CSDN 博文精选
- JavaScript判断变量数据类型
- django-vue-admin前端设置后台接口地址为127.0.0.1产生跨域问题解决办法
- 51nod 1534 棋子游戏
- 面向对象-多态与多态性
- 线性跟驰模型 matlab,Bierley非线性跟驰模型特性仿真分析
- msflexgrid允许大选择_特大型矿井提升机结构和布置方式的选择
- 快速理解设计模式六大原则
- bzoj4820 [Sdoi2017]硬币游戏 高斯消元+概率+kmp
- 计算机管理mmc无法,电脑提示mmc无法创建管理单元的问题可以这样解决
- lua mysql发包_如何发包
- c语言 前置声明,我这个C代码 为什么加了函数前置声明反而会出错,不加倒可以...
- 洛谷 3833 SHOI 2012 魔法树
- Myeclipse8.6中安装SVN插件
- python自动化办公-Python自动化办公室(1),python,一
- 汉王数据导入java环境,汉王数据管理系统导入数据怎样进行数据更新,只导出一天的考勤数据?...
- FFMPEG安装及入门
- (CVPR-2021)具有深度通用线性嵌入的跨视角步态识别
- 计算机研究计划怎么写,课题研究计划书范文
- Windows 9X电脑经常出现bluescreen蓝屏怎么办?