python带你采集不可言说网站数据,并带你多重骚操作~

前言

嗨喽,大家好呀,这里是魔王呐~

今天我们采集国内知名的shipin弹幕网站!

这里有及时的动漫新番,活跃的ACG氛围,有创意的Up主。

大家可以在这里找到许多欢乐。

image.png

python方向

  • 爬虫程序 >>> 爬虫工程师 采集数据处理
  • 网站开发 >>> 开发工程师
  • 数据分析 >>> 数据分析师 处理表格 word
  • 自动化
  • 游戏开发/辅助
  • 人工智能/机器学习 深度学习
  • 自动化测试 运维

环境使用:

  • Python 3.8
  • Pycharm 2021.2版本
  • ffmpeg

<需要设置环境变量> 软件的使用 合成视频和音频 需要私我领取

模块使用:

需要安装模块

  • import requests >>> pip install requests

内置模块 你安装好python环境就可以了

  • import re
  • import json
  • import subprocess

秘籍 <适用于任何网站, 采集任何数据>

一. 数据来源分析

  1. 确定自己需求 <采集网站是那个, 获取数据是什么东西>
  2. 通过开发者工具进行抓包分析, 分析我们想要数据内容来自于哪里 <通过网页源代码就可以找到相应数据内容>
    shipin信息数据 在网页源代码里面 playinfo里面
    shipin标题

我们想要数据内容都是来自于网页源代码

I. 用浏览器打开这个所采集的网址

II. 在这个网页上面用鼠标右键点击查看网页源代码 会弹出一个新的窗口

III. ctrl + F 打开搜索框 搜索playinfo 可以找到相关信息数据

IV. ctrl + F 打开搜索框 搜索shipin标题, 也可以找到相关的数据内容

二. 代码实现步骤过程 基本四大步骤

  1. 发送请求, 模拟浏览器对于url网址发送请求 <专门定义函数来发送请求>
  2. 获取数据, 获取网页源代码
  3. 解析数据, 提取我们想要数据内容 <shipin信息以及shipin标题>
  4. 保存数据, 把shipin内容保存本地

代码

1. 导入所需模块

不是内置模块的小可耐们记得安装哦~

import requests  # 数据请求模块 <发送请求工具>
import re  # 正则表达式
import json  # 序列化与反序列
import pprint  # 格式化输出模块
import subprocess
import os

因审核机制原因,我把网址里的一些东西删掉了,小可耐们可以自己添加一下哈,很容易的

还有两个字,我用拼音代替了,你们可以改回文字哦 ~

如果有不太会改或者有点点小懒惰的小可耐也可以私信我,我发你呐~ 💖

(或查看并点击网页主页(文章)左侧的流动文字免费获取哦~(可能需要往下划一下呐))

2. 模拟浏览器发送请求

def get_response(html_url, data=None):
    """
    发送请求函数
    def 关键字 用于自定义函数 get_response 自定义函数名字
    :param html_url:  形式参数<不具备实际意义> 传入到这个函数参数  发送请求网址
    :return: 响应对象

    模拟浏览器发送请求
        headers 请求头进行伪装模拟 user-agent 用户代理意思 表示浏览器基本身份标识
    <Response [200]>   <>在python里面表示对象 响应对象 200 状态码 表示请求成功

    相当于打电话, 打通了嘟嘟嘟声音
    404 网址不对      相当于你所拨打电话是空号
    503 服务器有问题   相当于你所拨打电话不在服务区
    403 你没有访问权限  相当于你所拨打电话正在通话中
    """
    headers = {
   
        'referer': 'https://www..com/',  # 防盗链 告诉服务器你请求url是从哪里跳转过来的
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36'
    }
    response = requests.get(url=html_url, params=data, headers=headers)
    return response

3. 获取数据

def get_video_info(play_url):
    """
    获取shipin信息函数
    :param play_url: shipin播放详情页
    :return: 信息shipin信息
    仰望星空脚踏实地
    不会用正则 6 通过相关语法,可以对于字符串数据提取自己想要内容 解析数据
    re.findall() 通过re模块里面findall 去找到所有我们想要数据内容
        从什么地方去找什么样数据内容  从response.text里面去找 "title":"(.*?)","pubdate" 中(.*?) 这段是我们想要数据
        '"title":"(.*?)","pubdate"', response.text
    保存数据, 标题作为文件名保存, 以字符串数据形式 列表取值
    len 统计元素个数 [0] 根据索引位置取值 列表索引位置从0开始计数
    type() 内置函数,查看数据类型
    """
    # 定义了函数, 一定要调用
    response = get_response(html_url=play_url)  # 调用前面定义好
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值