百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

我用Python爬取了女神视界,爬虫之路永无止境「内附源码」

liuian 2025-03-01 14:38 26 浏览

我发现抖音上很多小姐姐就拍个跳舞的视频就火了,大家是冲着舞蹈水平去的吗,都是冲着颜值身材去的,能刷到这篇文章的都是lsp了,我就跟大家不一样了,一个个刷太麻烦了,我直接爬下来看个够,先随意展示两个。


?



采集目标


爬取目标:女神世界


?



效果展示


?


工具使用


使用环境:Python3.7 工具:pycharm 第三方库:requests, re, pyquery


爬虫思路:


  1. 获取的是视频数据 (16进制字节)
  2. 在这个页面没有视频地址 需要进去详情页 所有需要从 视频播放页开始抓取


使用快捷键 F12 进入开发者控制台:


?



先不急, 找到 视频地址 去搜索他 看看在哪里有包含:


?



?



定位他 发现是静态页面返回的数据:


?



上代码:


def Tools(url):# 封装一个工具函数 用来做请求的
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 Edg/93.0.961.52'
    }
    response = requests.get(url, headers=headers)
    return response
url = 'https://www.520mmtv.com/9614.html'
response = Tools(url).text
video_url = re.findall(r'url: "(.*?)",', response)[0] # 正则表达式提取 视频地址
video_content = Tools(video_url).content
# 视频地址存储 需要在代码同路径 手动创建 短视频文件夹
with open('./短视频/123.mp4', 'ab') as f:
    f.write(video_content)
?
# 下载了一个


?



?



def main():
    url = 'https://www.520mmtv.com/hd/rewu.html'
    response = Tools(url).text
    doc = pq(response) # 创建pyquery对象 注意根据css的 class 类选择 和id选择器进行数据提取
    i_list = doc('.i_list.list_n2.cxudy-list-formatvideo a').items() # .类选择器 中间有空格的 记得替换成.
    meta_title = doc('.meta-title').items() # 标题
    for i, t in zip(i_list, meta_title):
        href = i.attr('href')
        Play(t.text(), href)



全部代码:


import requests
import re
from pyquery import PyQuery as pq
def Tools(url):
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 Edg/93.0.961.52'
    }
    response = requests.get(url, headers=headers)
    return response
def Play(title, url):
    # url = 'https://www.520mmtv.com/9614.html'
    response = Tools(url).text
    video_url = re.findall(r'url: "(.*?)",', response)[0]
    video_content = Tools(video_url).content
    with open('./短视频/{}.mp4'.format(title), 'ab') as f:
        f.write(video_content)
        print('{}下载完成....'.format(title))
def main():
    url = 'https://www.520mmtv.com/hd/rewu.html'
    response = Tools(url).text
    doc = pq(response) # 创建pyquery对象 注意根据css的 class 类选择 和id选择器进行数据提取
    i_list = doc('.meta-title').items() # .类选择器 中间有空格的 记得替换成.
    meta_title = doc('.meta-title').items() # 标题
    for i, t in zip(i_list, meta_title):
        href = i.attr('href')
        Play(t.text(), href)
if __name__ == '__main__':
    main()



下载比较慢网络不好,你网快的话 ,就下载快。


效果:


?

相关推荐

git的撤销、删除和版本回退_git撤销删除的文件

备注:本文参考于廖雪峰的博客Git教程。依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文。知识点:1、gitstatus,查看git仓库的状态2、gitdiff查看git修改了的内容...

程序员开发必会之git常用命令,git配置、拉取、提交、分支管理

整理日常开发过程中经常使用的git命令!git配置SSH刚进入项目开发中,我们首先需要配置git的config、配置SSH方式拉取代码,以后就免输入账号密码了!#按顺序执行gitconfig-...

Git使用指南 | 教你轻松学会Git_git用法详解

4000字,教大家学会Git使用。一、Git基础1、Git介绍Git是目前世界上最先进的分布式版本控制系统。版本控制系统:设计师在设计的时候做了很多版本经过了数天去问设计师每个版本都改了些啥,设计师此...

深入浅出 Git_深入浅出 gRPC

git初体验使用git前需设置用户名和Email,这些信息会出现在提交记录中以标识作者。gitconfig--globaluser.name"YeHanlin"gitc...

Git不提交指定文件的方法_git不提交指定文件的方法有哪些

大家在开发项目的时候都很喜欢使用git作为代码管理工具,但是在开发项目的时候我们的本地配置文件不应该覆盖服务器中的配置文件,我们使用命令gitstatus查看待提交文件的时候需要注意不要把本地的配...

相见恨晚的 Git 命令动画演示,一看就懂

虽然Git是一个强大的工具,但是我觉得大部分人都会同意我说的:它也可以是一个……噩梦!我一直觉得,使用Git的时候把操作过程在脑海里视觉化会非常有用:当我执行某个命令的时候,分支之间是如何交互...

GitCode的一些命令_git命令大全

GitCode的一些命令配置工具对所有本地仓库的用户信息进行配置$gitconfig--globaluser.name"[name]"对你的commit操作设置关联的用户名$...

【git】 如何删除所有 tag(本地和远程)

要删除所有本地和远程的Git标签,可以按照以下步骤进行:删除本地标签首先,删除本地标签。你可以使用以下命令删除本地的所有标签:gittag-d$(gittag-l)这将列出并删除所有本地...

互联网大漏洞:每600个网站就有1个暴露了.git文件夹

对于Web开发人员来说,向外界暴露你的.git文件夹绝对是一个菜鸟级错误。因为这样会允许任何人下载你的整个源代码存储库,包括数据库密码、加密盐、Hash和第三方接口密钥API,还有你的用户名和密码。多...

git常用命令整理_git 常用

一、Git仓库完整迁移完整迁移,就是指,不仅将所有代码移植到新的仓库,而且要保留所有的commit记录1.随便找个文件夹,从原地址克隆一份裸版本库gitclone--bare旧的git地址...

项目常用GIT操作命令_git常用操作命令 简书

Git仓库更新依赖的命令:gradle--refresh-dependenciesgradleaR完全编译;./gradlewecomm:packages:telephony:larges...

【超详细】Git 所有常用命令 + 提交规范全指南(建议收藏!)

Git命令大全初始化类命令作用gitinit初始化一个本地Git仓库(当前目录会出现.git文件夹)gitclone<仓库地址>克隆远程仓库到本地,一般用来拉项目提交代...

Git 常用的alias命令大全_git -a

Git的alias(别名)功能可以将常用的复杂命令简化,大幅提升操作效率。以下是一些实用的Gitalias配置和常用示例:一、配置alias的方法通过gitconfig命令设置,分...

Git使用教程:最详细、最傻瓜、最浅显、真正手把手教

导读:因为教程详细,所以行文有些长,新手边看边操作效果出乎你的预料。GitHub虽然有些许改版,但并无大碍。一、Git是什么?Git是目前世界上最先进的分布式版本控制系统。工作原理/流程:Work...

实用干货分享(3)- Git常用操作干货分享

官方学习地址https://git-scm.com/book/zh/v2简单的代码提交流程1.gitstatus查看工作区代码相对于暂存区的差别;2.gitadd.将当前目录下修改的所有...