python爬虫小练习(2)自动下载B站排行榜视频

#requests 爬虫第三方库 模拟浏览器请求后台数据
import requests
import you_get #视频下载库
import sys #调用系统的命令行
from pyquery import PyQuery as  pq  #数据提取的
#爬虫工程师 
# 反扒 加密破解   验证登录 分布式 云计算
# 数据抽取 清晰 消重
# 维护爬虫系统
# ja ajax  html css
# app抓包
# scrapy框架 高并发 异步 。。。
#python开发
# docker  linux Django  异步 高并发  数据库
# 设计模式

#视频播放地址
url = 'https://www.bilibili.com/video/BV1nz4y1D7x4?spm_id_from=333.851.b_7265706f7274466972737431.10'
def DownloadVideo(url):
    #视频下载后
    path = './shipin'
    #调用系统指令
    sys.argv =['you_get', '-o', path, url]
    you_get.main()

def VideoPlay():
    """
    请求排行榜首页
    提取视频播放地址
    :return:
    """
    url = 'https://www.bilibili.com/ranking/origin/168/0/3'
    headers ={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'
    }
    #发送请求
    response  = requests.get(url, headers=headers).text
    #初始化
    doc = pq(response)
    #通过类选择器info  获取数据 下级A标签
    #id选择器
    # info = doc('.info a')
    info = doc('.title').items()
    print(info)
    for play in info:
        # print(play)
        #通过属性获取对应的值
        VIdeoUrl = play.attr('href')
        if  VIdeoUrl != None:
            # print(VIdeoUrl)
            DownloadVideo(VIdeoUrl)

    # print(response)

if __name__ == '__main__':
    VideoPlay()
#拉勾网 json动态数据获取
import  requests
url1 = 'https://www.lagou.com/jobs/positionAjax.json?px=default&city=%E5%8C%97%E4%BA%AC&needAddtionalResult=false'
#urls静态接口
urls = 'https://www.lagou.com/jobs/list_Python/p-city_2?px=default#filterBox'

headers ={
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Origin': 'https://www.lagou.com',
    'Referer':'https://www.lagou.com/jobs/list_Python/p-city_2?px=default',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'
}
data = {
    'first':'true',
    'pn': '1',  #页号
    'kd': 'Python' #岗位名称
}

#因为想爬的数据是动态的所以要用到session
#建立一个session 用来存储cookies
session = requests.session()


s = session.get(urls, headers=headers)
cookie = s.cookies
response = session.post(url=url1,data=data, headers=headers, cookies = cookie).json()
content = response['content']['positionResult']['result']
# print(content)
for i in content:
    print(i)
# response  = requests.post(url1, data=data, headers=headers)
# print(response.json())
'''
{键:值} 
a = {'name':'老王'}
a['name'] 取到老王
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值