python网页爬虫requests和bs4应用

本文详细介绍了Python爬虫中requests库的使用,包括发送请求、获取响应结果、处理编码和响应头,以及三种不同类型的请求情况。同时,文章讲解了json数据的原理和Python与json的相互转换。最后,探讨了如何利用bs4解析网页数据,通过css选择器获取标签内容和属性。
摘要由CSDN通过智能技术生成

一、requests使用详解

导入模块包

import requests

1. 发送请求

requests.get(请求地址)
直接获取请求地址对应的数据(请求对象没有要求是浏览器的时候)
requests.get(请求地址, headers=请求头)
直接获取请求地址对应的数据,并且通过请求头完成浏览器伪装
headers的获取,可以以谷歌浏览器为例子获取
在这里插入图片描述
在这里插入图片描述

headers = {
   
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
}

response = requests.get('https://movie.douban.com/top250', headers=headers)

2. 获取请求结果

1)直接打印响应对象,如果状态码不是200表示请求失败

print(response)         # <Response [418]>、<Response [200]>

2) 获取状态码

print(response.status_code)

3) 设置编码方式(在请求结果中有乱码的时候设置, 设置成网页源代码中charset的值)

response.encoding = 'utf-8'

4) 获取响应头(可以查看服务器信息和返回的数据相关信息)

print(response.headers)

5)获取请求结果(获取从服务器中返回的数据)

a.方式1: 响应对象.text - 以字符串的方式获取到数据(请求对象是网页)

print(response.text)

b.方式2:响应对象.content - 以二进制的方式获取数据(请求对象是二进制数据,比如:下载图片、下载音视频等)

print(response.content)

c.方式3:响应对象.json() - 对请求结果进行json解析返回结果(请求对象是json接口)

print(response.json())

二、请求的三种情况

import requests

1. 爬网页数据 - 请求地址是网址

response = requests.get('https://cd.zu.ke.com/zufang')

if response.status_code == 200:
    # 通过text获取请求结果,然后再进一步解析
    print(response.text)

2. 下载图片、视频、音频 - 请求地址是图片地址、视频地址、音频地址

1) 对图片地址发送请求

response = requests.get('https://img2.baidu.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喆子玩点数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值