Python爬虫
程序员文章站
2023-09-28 19:06:47
python 爬虫 "python爬虫 爬虫概述...." "python爬虫 数据解析" "python爬虫 图片爬取(*乱码处理)" "python爬虫 代理" "python爬虫 selenium模块" "python爬虫 多任务异步协程" "python爬虫 模拟12306验证码登录" " ......
文章目录
前言
随着云时代的来临,数据分析技术将帮助企业用户在合理时间内获取、管理、处理以及整理海量数据,为企业经营决策提供积极的帮助。数据分析作为一门前沿技术,广泛应用于物联网、云计算、移动互联网等战略性新兴产业。 一章的知识内容都对应于一个典型的Python 数据分析与可视化编程技能应用,应用中将这些知识分成内容相关、难易程度递进的4 个小节。为体现边学边练、理实一体化的方针,帮助读者轻松理解知识、快速上手操作,在每节理论知识讲解之后,还都辅有针对性强的实践训练。
提示:以下是本篇文章正文内容,下面案例可供参考
一、python爬虫是什么?
可爬虫提取任何网页数据
使用步骤
1.引入库
代码如下(示例):
#coding:utf-8
import requests
2.读入数据
代码如下(示例):
response=requests.get("https://www.baidu.com")
# 类型
print(type(response))
# 状态值
print(response.status_code)
# 内容
print(response.text)
# 原内容
print(response.content)
# 标识
print(response.cookies)
# 原内容编码
print(response.content.decode("utf-8"))
网页爬取数据。
二、URllib库
使用步骤
1.引入库
代码如下(示例):
#coding:utf-8
import urllib.request
import urllib.error
import socket
2.读入数据
代码如下(示例):
try:
resp=urllib.request.urlopen("http://httpbin.org/get",timeout=0.1)
print(resp.read())
except urllib.error.URLError as e:
if isinstance(e.reason,socket.timeout):
print("请求超时!")
显示网页是否超时。
三、正则表达式
可爬虫提取任何网页数据
使用步骤
1.引入库
代码如下(示例):
#coding:utf-8
import re
2.读入数据
代码如下(示例):
matchObj = re.match(r'Cats.*dogs$', line)
if matchObj:
print("matchObj.group() : ", matchObj.group())
else:
print("No match!!")
其中match是从开始判断,seach可以从中间开始
四、Beautiful Soup 库
提取网页数据
使用步骤
1.引入库
代码如下(示例):
#coding:utf-8
from bs4 import BeautifulSoup
2.读入数据
代码如下(示例):
html="""
<html>
<head>
<title>The Dormouse's story</title>
</head>
<body>
<div class="textCon">
<div id="words">我的秋水,今天是认识你的第</div>
<div class="days">
<span class="days-number">1921</span>
<span class="days-label">天</span>
</div>
<div class="seconds"><a href="#">nice</a></div>
<div class="seconds">15 hours 24 minutes 30 seconds</div>
</div>
</body>
</html>
"""
soup=BeautifulSoup(html,"lxml")
#显示原内容
print(soup.prettify())
print(soup.title)
print(soup.text)
print(soup.title.text)
print(soup.title.parent.text)
print(soup.find(id="words"))
print(soup.find_all("span"))
print(soup.span)
#查询span标签的类名,只显示第一个
print(soup.span["class"])
#查询span标签文本信息
print(soup.span.string)
#查出a标签的链接
print(soup.a.attrs["href"])
#按id查找
print(type(soup.find(id="words")))
print(soup.find_all(attrs={"class":"seconds"}))
#查找类
print(soup.find_all(attrs={"class":"days-label"}))
可方便查取网页的中详细信息
本文地址:https://blog.csdn.net/weixin_44758276/article/details/111880152