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 31 Python
python 通过logging写入日志到文件和控制台的实例
Apr 28 Python
Python使用pyodbc访问数据库操作方法详解
Jul 05 Python
python 3.6.5 安装配置方法图文教程
Sep 18 Python
Django之Mode的外键自关联和引用未定义的Model方法
Dec 15 Python
python-itchat 获取微信群用户信息的实例
Feb 21 Python
详解python多线程之间的同步(一)
Apr 03 Python
将python2.7添加进64位系统的注册表方式
Nov 20 Python
python输出数组中指定元素的所有索引示例
Dec 06 Python
python匿名函数lambda原理及实例解析
Feb 07 Python
python实现银行实战系统
Feb 26 Python
使用python创建Excel工作簿及工作表过程图解
May 27 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
一个简易需要注册的留言版程序
2006/10/09 PHP
php下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
php+mysqli使用面向对象方式更新数据库实例
2015/01/29 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
2016/12/25 PHP
JavaScript使用过程中需要注意的地方和一些基本语法
2010/08/26 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
jQuery 1.7.2中getAll方法的疑惑分析
2012/05/23 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
简单理解vue中实例属性vm.$els
2016/12/01 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
整理Python中的赋值运算符
2015/05/13 Python
python利用正则表达式提取字符串
2016/12/08 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
Python实现非正太分布的异常值检测方式
2019/12/09 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
2020/06/15 Python
编辑找工作求职信分享
2014/01/03 职场文书
手机被没收检讨书
2014/02/22 职场文书
企业安全生产目标责任书
2014/07/23 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
2015年幼儿园安全工作总结
2015/05/12 职场文书
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python
SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
2023/05/08 MySQL