嗨喽,大家好呀~这里是爱看美女的茜茜呐
环境使用:
-
Python 3.10
-
Pycharm
模块使用:
-
import datetime
-
import time
-
import requests
-
import hashlib
-
import csv
如何安装python第三方模块:
-
win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
-
在pycharm中点击Terminal(终端) 输入安装命令
👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~
python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可
爬虫实现基本流程
一. 数据来源分析
-
明确需求
明确采集的网站以及数据内容
网址: https://search.bilibili.com/all?keyword=%E6%98%8F%E5%90%9B%E4%BD%93%E9%A
A%8C%E5%8D%A1&from_source=webtop_search&spm_id_from=333.1007&search_source=
5数据: 视频相关信息: 标题 / 播放量 / 弹幕量 / 评论 / 作者…
-
抓包分析 (浏览器中进行操作)
通过浏览器自带工具 (开发者工具) 进行数据抓包: 分析我们需要数据可以请求那个网址能够得到
-
打开开发者工具
F12 / 右键点击检查选择 network (网络)
-
刷新网页 / 点击下一页查看数据
点击第二页 / 点击下一页 (爬虫批量采集数据, 进行翻页操作)
-
通过关键字搜索找到对应数据包链接(位置)
关键字: 我们需要的数据 (标题)
请求网址: https://api.bilibili.com/x/web-interface/wbi/search/type
请求方法: GET
-
二. 代码实现步骤
导入的模块
import requests
# 导入格式化输出模块 (内置模块, 无需安装)
from pprint import pprint
# 导入日期转化模块 (内置模块, 无需安装)
import datetime
# 导入csv模块 (内置模块, 无需安装)
import csv
# 导入哈希模块
import hashlib
# 导入时间模块
import time
1. 发送请求 (基本内容可以复制)
模拟浏览器对于url地址发送请求
-
模拟浏览器 (字典接收参数内容)
主要是使用开发者工具中: 请求标头 参数内容
常用: cookie / referer / host / User-Agent (UA)
-
请求网址
-
发送请求 (请求方法&请求参数)
def GetResponse(url, data):
"""发送请求
- def: 定义函数的关键字
- GetResponse: 自定义的函数名 (自定义变量名)
- url / data: 形式参数 --> 如果调用这个函数的时候, 需要传入参数
url: 请求网址
data: 请求参数
"""
# 模拟浏览器 (伪装)
headers = {
# User-Agent 用户代理, 表示浏览器基本身份信息/设备信息
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36'
}
# 发送请求
response = requests.get(url=url, params=data, headers=headers)
# 返回内容
return response
2. 获取数据
-
response.text 获取响应文本数据
其实除了 获取json / content 以外都可以用text -
response.json() 获取响应json数据
响应数据返回内容 {} / [{}] 类似这样的形式 就直接获取json()
-
response.content 获取响应二进制数据
保存 图片/音频/视频/特定格式文件 的时候, 获取content 表示获取二进制数据