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列表的常用操作方法小结
May 21 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
python矩阵转换为一维数组的实例
Jun 05 Python
python实现倒计时小工具
Jul 29 Python
一行python实现树形结构的方法
Aug 09 Python
python 列表推导式使用详解
Aug 29 Python
pycharm显示远程图片的实现
Nov 04 Python
Python作用域与名字空间原理详解
Mar 21 Python
Django用户身份验证完成示例代码
Apr 03 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
Apr 27 Python
keras中的卷积层&池化层的用法
May 22 Python
Python使用20行代码实现微信聊天机器人
Jun 05 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
兼容PHP5的PHP目录管理函数库
2008/07/10 PHP
php中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
PHP使用Mysqli类库实现完美分页效果的方法
2016/04/07 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
2013/04/02 Javascript
防止按钮在短时间内被多次点击的方法
2014/03/10 Javascript
浅谈javascript中this在事件中的应用
2015/02/15 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
vue实现数字滚动效果
2020/06/29 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
python 定义类时,实现内部方法的互相调用
2019/12/25 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
2020/02/11 Python
Python接口测试文件上传实例解析
2020/05/22 Python
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
经典c++面试题二
2015/08/14 面试题
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
构建高效课堂实施方案
2014/03/13 职场文书
和谐社区口号
2014/06/19 职场文书
2014年法院工作总结
2014/11/24 职场文书
老公婚前保证书
2015/02/28 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS