python爬虫爬取网页数据并解析数据


Posted in Python onSeptember 18, 2020

1.网络爬虫的基本概念

网络爬虫(又称网络蜘蛛,机器人),就是模拟客户端发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。
只要浏览器能够做的事情,原则上,爬虫都能够做到。

2.网络爬虫的功能

python爬虫爬取网页数据并解析数据

网络爬虫可以代替手工做很多事情,比如可以用于做搜索引擎,也可以爬取网站上面的图片,比如有些朋友将某些网站上的图片全部爬取下来,集中进行浏览,同时,网络爬虫也可以用于金融投资领域,比如可以自动爬取一些金融信息,并进行投资分析等。

有时,我们比较喜欢的新闻网站可能有几个,每次都要分别打开这些新闻网站进行浏览,比较麻烦。此时可以利用网络爬虫,将这多个新闻网站中的新闻信息爬取下来,集中进行阅读。

有时,我们在浏览网页上的信息的时候,会发现有很多广告。此时同样可以利用爬虫将对应网页上的信息爬取过来,这样就可以自动的过滤掉这些广告,方便对信息的阅读与使用。

有时,我们需要进行营销,那么如何找到目标客户以及目标客户的联系方式是一个关键问题。我们可以手动地在互联网中寻找,但是这样的效率会很低。此时,我们利用爬虫,可以设置对应的规则,自动地从互联网中采集目标用户的联系方式等数据,供我们进行营销使用。

有时,我们想对某个网站的用户信息进行分析,比如分析该网站的用户活跃度、发言数、热门文章等信息,如果我们不是网站管理员,手工统计将是一个非常庞大的工程。此时,可以利用爬虫轻松将这些数据采集到,以便进行进一步分析,而这一切爬取的操作,都是自动进行的,我们只需要编写好对应的爬虫,并设计好对应的规则即可。

除此之外,爬虫还可以实现很多强大的功能。总之,爬虫的出现,可以在一定程度上代替手工访问网页,从而,原先我们需要人工去访问互联网信息的操作,现在都可以用爬虫自动化实现,这样可以更高效率地利用好互联网中的有效信息。

3.安装第三方库

在进行爬取数据和解析数据前,需要在Python运行环境中下载安装第三方库requests。

在Windows系统中,打开cmd(命令提示符)界面,在该界面输入pip install requests,按回车键进行安装。(注意连接网络)如下图

python爬虫爬取网页数据并解析数据

安装完成,如图

python爬虫爬取网页数据并解析数据

4.爬取淘宝首页

# 请求库
import requests
# 用于解决爬取的数据格式化
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
# 爬取的网页链接
r= requests.get("https://www.taobao.com/")
# 类型
# print(type(r))
print(r.status_code)
# 中文显示
# r.encoding='utf-8'
r.encoding=None
print(r.encoding)
print(r.text)
result = r.text

运行结果,如图

python爬虫爬取网页数据并解析数据

5.爬取和解析淘宝网首页

# 请求库
import requests
# 解析库
from bs4 import BeautifulSoup
# 用于解决爬取的数据格式化
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
# 爬取的网页链接
r= requests.get("https://www.taobao.com/")
# 类型
# print(type(r))
print(r.status_code)
# 中文显示
# r.encoding='utf-8'
r.encoding=None
print(r.encoding)
print(r.text)
result = r.text
# 再次封装,获取具体标签内的内容
bs = BeautifulSoup(result,'html.parser')
# 具体标签
print("解析后的数据")
print(bs.span)
a={}
# 获取已爬取内容中的script标签内容
data=bs.find_all('script')
# 获取已爬取内容中的td标签内容
data1=bs.find_all('td')
# 循环打印输出
for i in data:
 a=i.text
 print(i.text,end='')
 for j in data1:
  print(j.text)

运行结果,如图

python爬虫爬取网页数据并解析数据

6.小结

在对网页代码进行爬取操作时,不能频繁操作,更不要将其设置成死循环模式(每一次爬取则为对网页的访问,频繁操作会导致系统崩溃,会追究其法律责任)。

所以在获取网页数据后,将其保存为本地文本模式,再对其进行解析(不再需要访问网页)。

以上就是python爬虫爬取网页数据并解析数据的详细内容,更多关于python爬取网页数据并解析的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python爬虫之xlml解析库(全面了解)
Aug 08 Python
python3.x 将byte转成字符串的方法
Jul 17 Python
Python单向链表和双向链表原理与用法实例详解
Aug 31 Python
Python字典创建 遍历 添加等实用基础操作技巧
Sep 13 Python
Python中创建二维数组
Oct 17 Python
Pycharm 2020年最新激活码(亲测有效)
Sep 18 Python
python 使用递归回溯完美解决八皇后的问题
Feb 26 Python
快速解决jupyter notebook启动需要密码的问题
Apr 21 Python
python小程序之4名牌手洗牌发牌问题解析
May 15 Python
Python xlwings插入Excel图片的实现方法
Feb 26 Python
pycharm2021激活码使用教程(永久激活亲测可用)
Mar 30 Python
用python实现监控视频人数统计
May 21 Python
Python实现迪杰斯特拉算法过程解析
Sep 18 #Python
Python 操作 MySQL数据库
Sep 18 #Python
python实现人工蜂群算法
Sep 18 #Python
Python猫眼电影最近上映的电影票房信息
Sep 18 #Python
python实现简单遗传算法
Sep 18 #Python
详解python 支持向量机(SVM)算法
Sep 18 #Python
python利用线程实现多任务
Sep 18 #Python
You might like
PHP学习资料汇总与网址
2007/03/16 PHP
php 时间计算问题小结
2009/01/04 PHP
用PHP将数据导入到Foxmail的实现代码
2010/09/05 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
jQuery 幻灯片插件(带缩略图功能)
2011/01/24 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
使用js检测浏览器是否支持html5中的video标签的方法
2014/03/12 Javascript
js实现回放拖拽轨迹从过程上进行分析
2014/06/26 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
Node.js之readline模块的使用详解
2019/03/25 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
2020/08/15 Javascript
原生js实现俄罗斯方块
2020/10/20 Javascript
python 合并文件的具体实例
2013/08/08 Python
python操作MongoDB基础知识
2013/11/01 Python
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
Python程序退出方式小结
2017/12/09 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
python安装requests库的实例代码
2019/06/25 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
django-filter和普通查询的例子
2019/08/12 Python
使用python远程操作linux过程解析
2019/12/04 Python
python实现人机猜拳小游戏
2020/02/03 Python
python开发入门——列表生成式
2020/09/03 Python
真正了解CSS3背景下的@font face规则
2017/05/04 HTML / CSS
HTML5表单验证特性(知识点小结)
2020/03/10 HTML / CSS
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
安全生产管理合理化建议书
2014/03/12 职场文书
个人借款协议书范本
2014/11/17 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
SpringBoot读取Resource下文件的4种方法
2021/07/02 Java/Android