Python爬虫


前言

随着云时代的来临,数据分析技术将帮助企业用户在合理时间内获取、管理、处理以及整理海量数据,为企业经营决策提供积极的帮助。数据分析作为一门前沿技术,广泛应用于物联网、云计算、移动互联网等战略性新兴产业。 一章的知识内容都对应于一个典型的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"}))

可方便查取网页的中详细信息


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值