玩爬虫不就是为了多爬取几个小姐姐吗,几十行代码快速获取小姐姐视频?

         又到了愉快的周末了,今天她不在家我们就来玩点骚操作,我们来玩点男人最喜欢干的事情,来爬取小姐姐视频,晚上就可以偷偷的乐了。喜欢的朋友可以来个一键三连。

一、分析页面

这次我么爬取的是一个六间房的一个网页 官方地址: https://v.6.cn/minivideo/

实现思路:

  • 通过抓包来找到我们想要的url路径
  • 拿到url发送请求返回我们数据
  • 解析数据将我们不需要的数据剔除掉
  • 将数据保存我们本地

获取要发送的url
到这里我们就已近获取到url就可以发送请求了 我们这边用的是 requests 库

二、什么 requests(小白)

1.请求方式
常见的请求方式:GET / POST
2.请求的URL
url全球统一资源定位符,用来定义互联网上一个唯一的资源 例如:一张图片、一个文件、一段视频都可以用url唯一确定

3.请求头
User-agent:请求头中如果没有user-agent客户端配置,服务端可能将你当做一个非法用户host;
cookies:cookie用来保存登录信息

注意一般做爬虫都会加上请求头

请求头需要注意的参数:
Referrer: 访问源至哪里来(一些大型网站,会通过Referrer 做防盗链策略;所有爬虫也要注意模拟)
User-Agent: 访问的浏览器(要加上否则会被当成爬虫程序)
cookie: 请求头注意携带
4.请求体
请求体 如果是get方式,请求体没有内容 (get请求的请求体放在 url后面参数中,直接能看到) 如果是post方式,请求体是format data ps:1、登录窗口,文件上传等,信息都会被附加到请求体内 2、登录,输入错误的用户名密码,然后提交,就可以看到post,正确登录后页面通常会跳转,无法捕捉到post

三、response 基本介绍

1.响应状态码
  200:代表成功
  301:代表跳转
  404:文件不存在
  403:无权限访问
  502:服务器错误
  
2.response header
         响应头需要注意的参数:Set-Cookie:BDSVRTM=0; path=/:可能有多个,是来告诉浏览器,把cookie保存下来

3.preview就是网页源代码
        json数据
        如网页html,图片
         二进制数据等

四、编写代码

4.1 导入依赖库

import requests
import re
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
@Project :Python-crawler-set 
@File    :六间房Start.py
@IDE     :IntelliJ IDEA 
@Author  :大数据老哥
@Date    :2020/12/19 15:21 
'''

# 导入所需要的依赖
import requests
import re


# 过滤掉特殊字符
def match(title):
    compile= re.compile(r'[\\\/:\*\?\"><\|]')
    match = re.sub(compile, "_",title)
    return match

# 设置请求头等参数,防止被反爬
headers = {
    
    
    'Accept': '*/*',
    'Accept-Language': 'en-US,en;q=0.5',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36'
}

def  main(num):
    url="https://v.6.cn/minivideo/getMiniVideoList.php?act=recommend&page=%s&pagesize=50" %(num)
    print("开始下载第%s页" %(num))
    # 发送请求
    data=requests.get(url,headers=headers)
    # 解析数据
    json=data.json()
    # 解析出我们想要的数据来
    datalist=json["content"]["list"]
    # 循环遍历数据
    for data in datalist:
      #获取title
      title=data["alias"]+'.mp4'
      newTitle=match(title)
      # 获取视频url
      playurl=data["playurl"]
      # 在次发一次请求 来请求视频数据
      video=requests.get(playurl,headers=headers)
      with open("video\\"+newTitle,'ab') as output:
           # 以二进制的形式写入到本地
           output.write(video.content)
      print("下载成功: ",newTitle)
if __name__ == '__main__':
    for i in range(1,10):
        main(i)

运行结果

总结

         好了今天的爬虫分享到这里就结束啦,喜欢的朋友可以关注我的公众号第一时间阅读分享的内容,我这边也为大家搭建了一个我自己Github 喜欢的朋友可以去收藏波,链接:https://github.com/lhh2002/Python-crawler-set 里面主要内容有我自己编写的一些爬虫脚本都会在里面,喜欢的可以去下载。
                                                               往期推荐
Python爬取哔哩哔哩(bilibili)视频

使用Python实现PDF转word原来如此简单,你也可以学会哦在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43791724/article/details/111409973