Python爬虫:二十行代码获取某知名网站高质量视频,带视频讲解

  • 请求头 Request Headers (键值对的形式) 请求的一些配置信息告诉服务器,让服务器判断这些配置信息解析

请求头,用来说明服务器要使用的附加信息,比较重要的信息有Cookie,Referer,User-Agent等。

  • Accept: 请求报头域,用于指定客户端可接受哪些类型的信息。

  • Accept - Language: 指定客户端可接受的语言类型。

  • Accept-Encoding: 指定客户端可接受的内容编码。

  • Host:用于指定请求支援的主机IP和端口号,其内容为请求URL的原始服务器或网关的位置。从HTTP1.1版本开始,请求必须包含此内容。

  • Cookie: 也常用复数形式Cookies,这是网站为了辨别用户进行会话跟踪而存储在用户本地的数据。它的主要功能是维持当前访会话。例如,我们输入用户名和密码成功登录某个网站后,服务器会用会话保存登录状态信息,后面我们每次刷新或请求该站点的其他页面时,会发现都是登录状态,这就是Cookies的功劳。Cookies里有信息标识了我们所对应的服务器的会话,每次浏览器在请求该站点的页面时,都会在请求头加上Cookies 并将其返回给服务器,服务器通过Cookies识别出是我们自己,并且查出当前状态是登录状态,所以返回结果就是登陆之后才能看到的网页内容。

  • Referer: 此内容用来标识这个请求是从哪个页面发过来的,服务器可以拿到这一信息并做相应处理,如做来源统计、防盗链处理等。

  • User-Agent: 简称UA,它是一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本、浏览器及版本等信息。再做爬虫时加上此信息,可以伪装为浏览器:如果不加,很容易可能被识别出为爬虫。

  • Content-Type: 也叫互联网媒体类型(Internet Media Type)或者MIME类型,在HTTP协议消息头中,它用来表示具体请求中的媒体类型信息。例如,text/html 代表HTML格式,image/gif 代表GIF图片,application/json 代表JSON类型,更多对应关系可以查看此对照表:http://tool.oschina.net/commons

  • Response中包含什么内容?

  • 响应,由服务端返回给客户端,可以分为三部分:响应状态码(Response Status Code)、响应头(Response Headers)、响应体(Response Body)

  • 1、响应状态码

响应状态码表示服务器的响应状态,如200代表服务器正常响应,404代表页面未找到,500代表服务器内部发生错误。在爬虫中,我们可以根据状态码来判断服务器响应状态,如状态码为200,则证明成功返回数据,在进行进一步的处理,否则直接忽略。

  • 2、响应头

  • 3、响应体

最重要的当属响应体的内容了。响应的正文数据都在响应体中,比如请求网页时,它的响应体就是网页的HTML代码;请求一张图片时,它的响应体就是图片的二进制数据。我们走爬虫请求网页后,要解析的内容就是响应体, 在浏览器开发者工具中点Preview,就可以看到网页的源代码,也就是响应体的内容,它是解析的目标。

在做爬虫时,我们主要通过响应体得到的网页的源代码、JSON数据等,然后从中做相应内容的提取。

用http请求库向服务器发送一个请求,然后得到这个response,把这个响应体里的内容拿下来,然后解析就可以拿到我们的数据了。

三、案例实现

======================================================================

  1. 找到目标网址

  2. 发送网络请求

  3. 获取数据

  4. 筛选数据

  5. 保存数据

import requests

import pprint

统一替换

1.选中要替换的内容

2.按住Ctrl+R 注: 点亮星号* / 2021版本一下 点亮Regex

3.在第一个框里面输入(.?): (.)

4.在第二个框里面输入’$1’: ‘$2’,

5.点击REPLACE ALL

headers = {

‘cookie’: ‘’,

‘referer’: ‘https://weibo.com/tv/channel/4379160563414111/editor’,

‘user-agent’: ‘’,

}

data = {

‘data’: ‘{“Component_Channel_Editor”:{“cid”:“4379160563414111”,“count”:9}}’

}

url = ‘https://www.weibo.com/tv/api/component?page=/tv/channel/4379160563414111/editor’

json_data = requests.post(url=url, headers=headers, data=data).json()

ccs_list = json_data[‘data’][‘Component_Channel_Editor’][‘list’]

next_cursor = json_data[‘data’][‘Component_Channel_Editor’][‘next_cursor’]

for ccs in ccs_list:

oid = ccs[‘oid’]

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
img

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。

🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Python爬取付费视频可能会违反视频网站的使用条款,并且可能违反版权法。这种为可能会导致法律后果。 如果您仍然想使用 Python 爬取付费视频,则可以使用网络爬虫框架(如 Scrapy)或者 HTTP 库(如 Requests)来爬取视频网站的内容。您可以尝试模拟登录并获取付费视频的链接,然后使用 Python 的内置库(如 urllib)或者第三方库(如 wget)下载视频文件。 但是,请注意,这种为可能会导致法律后果。我强烈建议您遵守视频网站的使用条款,并通过合法途径获取视频内容。 ### 回答2: Python可以使用网络爬虫技术爬取付费视频,以下是一种可能的实现方式: 1. 首先,确定要爬取的目标网站,并找到目标付费视频的网页地址。 2. 使用Python的requests库向目标网站发送HTTP请求,获取目标付费视频网页的HTML源代码。 3. 分析目标网页的HTML源代码,找到包含付费视频地址的相关标签或元素。可以使用Python的BeautifulSoup库进HTML解析和标签定位。 4. 使用Python的正则表达式或字符串处理方法,提取出付费视频的播放地址。 5. 如果付费视频的播放地址是直接可用的URL,那么可以直接将播放地址保存下来,稍后使用下载工具进离线下载。 6. 如果付费视频的播放地址是通过JavaScript动态加载的,那么需要使用Python的selenium库模拟浏览器为,获取视频播放页面的完整渲染结果。 7. 获取到完整的视频播放页面后,再次分析页面的HTML源代码,提取出真实的视频地址。 8. 将真实的视频地址保存下来,稍后使用下载工具进离线下载。 需要特别注意的是,爬取付费视频可能涉及侵权等法律问题,请在法律允许的范围内使用爬虫技术。此外,不同网站的付费视频爬取方式可能会有所差异,具体实现方式需要根据目标网站的特点进调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值