day10 爬虫导言

day10 爬虫导言

爬虫(网络数据采集)

  • 定义:按照程序猿自己的想法编写程序批量的爬取数据(图片、音频、视频、数据等)

  • 爬虫的流程:

    1. 解析HTML页面
    2. 根据前端的语法,或者正则表达式来提取数据
    3. 保存数据
      #爬虫只能爬网页吗?
  • requests、urllib、selenium、playwariter等

  • requests:通过网址向服务器发送请求,等待服务器的响应结果

  • 疑问: 1.爬虫只能爬网页吗?2.从网页上能爬到什么东西?3.爬虫能给到什么东西,技术边界在哪?

具体的爬虫流程

  1. 向网页发送请求 --> 使用requests.get(url = ‘’)
  2. 查看页面状态 --> 使用response.status_code
  3. response.text查看是否乱码 --> response.text - 肉眼查看有没有看不懂的 -response.encoding = ‘gbk’
  4. 未完待续
import requests

# 1. 发送网页读取请求
URL = 'https://pvp.qq.com/web201706/index.shtml'

#返回了一个响应对象,所有东西都在里面
response = requests.get(url=URL)
print(response)

# 1. 页面状态

# 1.查看状态码
print(response.status_code)

# status_code :状态码 --> 判断服务器和网页状态,以防服务器是崩的(404)
    # 200:表示程序和服务器正常通信
    # 403:表示服务器理解客户端的请求,但是拒绝了客户端的请求。(没崩但拒绝了)
    # 404:网页丢失
    # 500:服务器崩溃

# 2. 查看页面源代码

# 网页出现乱码:  如果网页发生乱码,只需要根据页面指定的编码方式解码即可(不用ASCII解码)
# 如何查找解码方式:  在返回的response.text里,用command+f,查找'charset';如果没有charset:response.encoding = None
# requests默认使用ISO-8858-1的编码(即ASCII),也能使用页面服务器所指定的解码方式
# 常用:ASCII 和 gbk(国标码,我国自主指定的编码方式,可识别中文)
response.encoding = 'gbk'

# 2.1 text 查看页面源代码(字符串类型):
print(response.text, type(response.text))

# 2.2 content:页面源代码(二进制):
# b'......' --> 二进制一般用于图片音频视频
# print(response.contant)

网页图片/视频爬取

import requests

URL = 'https://video.pearvideo.com/mp4/adshort/20220614/cont-1765337-15895934_adpkg-ad_hd.mp4'
response = requests.get(url = URL)

if response.status_code == 200 :
    print(response.content)           # 使用二进制查看页面源码
    #拿到二进制格式的文件 ,写入本地文件
    video = open('1.mp4', 'wb')       # 在本地先建立一个文件,注意格式要和你要保存下来的文件格式保持一致。注意是‘wb’
    video.write(response.content)     # 直接用write写入本地文件
    video.close()
else :
    print(response.status_code)

#爬取视频/照片流程:
#1. 先获得图片/视频地址。
#2. 检查网页状态。  
#3. 把二进制读取出来的文件,写入本地文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值