python构建基础的爬虫教学


Posted in Python onDecember 23, 2018

爬虫具有域名切换、信息收集以及信息存储功能。

这里讲述如何构建基础的爬虫架构。

1、

urllib库:包含从网络请求数据、处理cookie、改变请求头和用户处理元数据的函数。是python标准库.urlopen用于打开读取一个从网络获取的远程对象。能轻松读取HTML文件、图像文件及其他文件流。

2、
beautifulsoup库:通过定位HTML标签格式化和组织复杂的网络信息,用python对象展现XML结构信息。不是标准库,可用pip安装。常用的对象是BeautifulSoup对象。

1、基础爬虫

爬虫需要首先import对象,然后打开网址,使用BeautifulSoup对网页内容进行读取。

python构建基础的爬虫教学

2、使用print输出打开的网址的内容。

python构建基础的爬虫教学

3、从输出中可以看出内容的结构为:

python构建基础的爬虫教学

4、输出内容中的html-body-h1的内容可使用四种语句。

python构建基础的爬虫教学

python构建基础的爬虫教学

5、

BeautifulSoup可提取HTML、XML文件的任意节点的信息,只需要目标信息旁边或附近有标记。

1、Error

在运行代码时,经常会出现错误,看懂错误出现的原因才能解决存在的问题。

2、

在html=urlopen('')中会发生两种错误:网页在服务器上不存在或服务器不存在

3、网页在服务器上不存在会出现HTTPError,可使用try语句进行处理。

当程序返回HTTPError错误代码时,会显示错误内容。

python构建基础的爬虫教学

4、服务器不存在时,urlopen会返回None.

可使用判断语句进行检测。

调用的标签不存在会出现None,调用不存在的标签下的子标签,就会出现AttributeError错误。

python构建基础的爬虫教学

总结:以上就是关于python构建基础的爬虫的基础步骤内容,感谢大家的阅读和对三水点靠木的支持。

Python 相关文章推荐
Python中删除文件的程序代码
Mar 13 Python
Python中的super用法详解
May 28 Python
浅谈python迭代器
Nov 08 Python
python实现协同过滤推荐算法完整代码示例
Dec 15 Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 Python
一行代码让 Python 的运行速度提高100倍
Oct 08 Python
对Python 语音识别框架详解
Dec 24 Python
Django中使用 Closure Table 储存无限分级数据
Jun 06 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
Aug 22 Python
python 采用paramiko 远程执行命令及报错解决
Oct 21 Python
python 实现快速生成连续、随机字母列表
Nov 28 Python
Python学习之时间包使用教程详解
Mar 21 Python
Flask之请求钩子的实现
Dec 23 #Python
python爬虫获取新浪新闻教学
Dec 23 #Python
Python爬虫文件下载图文教程
Dec 23 #Python
python爬虫获取百度首页内容教学
Dec 23 #Python
Python爬虫设置代理IP(图文)
Dec 23 #Python
celery4+django2定时任务的实现代码
Dec 23 #Python
python3使用pandas获取股票数据的方法
Dec 22 #Python
You might like
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
基于php实现的php代码加密解密类完整实例
2016/10/12 PHP
textarea的value是html文件源代码,存成html文件的代码
2007/04/20 Javascript
用JS控制回车事件的代码
2011/02/20 Javascript
最简单的js图片切换效果实现代码
2011/09/24 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
Checbox的操作含已选、未选及判断代码
2013/11/07 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
JavaScript数组去重的两种方法推荐
2016/04/05 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
2016/11/07 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
2017/06/16 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
利用python库在局域网内传输文件的方法
2018/06/04 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
Python实现多线程的两种方式分析
2018/08/29 Python
python3实现逐字输出的方法
2019/01/23 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
对Python3 序列解包详解
2019/02/16 Python
python 多进程队列数据处理详解
2019/12/23 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
pycharm安装及如何导入numpy
2020/04/03 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
Python3读写ini配置文件的示例
2020/11/06 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
内部类的定义、种类以及优点
2013/10/16 面试题
公司委托书格式范文
2014/10/09 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
高中语文教学反思范文
2016/02/16 职场文书