学习爬虫day01

本文介绍了爬虫的基本概念,包括模拟浏览器发送请求、获取响应,并详细阐述了爬虫流程、数据提取、编码解码处理、requests模块的使用、文件保存方法以及如何判断请求是否成功。同时,探讨了URL编码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

爬虫的概念

  • 爬虫是模拟浏览器发送请求,获取响应

爬虫流程

  • url —> 发送请求,获取响应 —> 提取数据 —> 保存
  • 发送请求,获取响应 —> 提取url

爬虫要根据当前url地址对应的响应为准,当前url地址的elements的内容和url的响应不一样

页面上的数据在哪里

  • 当前url地址对应的响应中
  • 其他的url地址对应的响应中
    • 比如ajax请求中
  • js生成的
    • 部分数据在响应中
    • 全部通过js生成

str bytes 如何转化

  • str使用encode方法转化为bytes
  • bytes通过decode方法转化为str
  • 编码方式解码方式必须一样,否则会出现乱码

requests模块

import requests
response = requests.get('http://www.baidu.com')
response.text  # 获取数据 猜测解码方式
response.encoding  # 推测出编码的编码方式
# 指定编码方式 -- 然后在使用text获取数据
response.encoding = 'utf-8'

# bytes 类型的数据
response.content
# 转换成中文
response.content.decode()

requests中解决编码解码的方法

  • response.content.decode()
  • response.content.decode(“gbk”)
  • response.text

保存文件的内容

  • 1.获取内容数据–二进制
  • 2.使用wb的方式保存就可以了,需要改保存文件的后缀名

获取的内容

  • 获取状态码
    • response.status_code
  • 获取内容
    • response.text
    • response.content
  • 获取响应头
    • response.headers
  • 获取请求头
    • response.request.headers
  • url 地址
    • response.request.url 请求的url地址
    • response.url 响应的url地址

判断请求是否成功

# 断言: 
assert reponse.statue_code==200

url 编码

  • https://www.baidu.com/s?wd=%E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值