当前位置: 首页 > news >正文

如何在网站上做飘窗链接百度知道官网入口

如何在网站上做飘窗链接,百度知道官网入口,做壁纸网站,怎么做自己的一个网站一、在B站上爬取一段视频(B站视频有音频和视频两个部分) 1、获取URL 注意:很多平台都有反爬取的机制,B站也不例外 首先按下F12找到第一条复制URL 2、UA伪装,下列图片中(注意代码书写格式) 3、Co…

一、在B站上爬取一段视频(B站视频有音频和视频两个部分)

        1、获取URL

        注意:很多平台都有反爬取的机制,B站也不例外

        首先按下F12找到第一条复制URL

        2、UA伪装,下列图片中(注意代码书写格式)

        3、Cookie,

        在上节课以及说了Cookie这个东西,需要我们登录后的复制的才有用,其需要在左侧找到web对应的页面找到,如下图所示:

        4、防盗链:

        用来告诉服务器你请求链接是从哪里跳转过来的,没有这个,就无法成功。(即使下载好后,打开文件,会显示无法播放)

        防盗链是指通过设置HTTP请求的Referer头字段来限制其他网站对自身网站资源的访问。在爬取数据时,开发者可以在HTTP请求中添加Referer字段,告知服务器请求的来源页面。服务器会检查Referer字段来判断请求是否来自合法的来源页面,如果不合法,服务器可能会拒绝该请求或返回错误信息。

而最上面第二张图里的红色框就是Referer,将它复制过来就可以了

注意:User-Agent、Cookie、Referer需要写在head里传入get请求属性内,必须字母大小写完全一致

head={#UA伪装'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0',#防盗链'Referer':'https://www.bilibili.com/video/BV1Hm421g7Uk/?spm_id_from=333.1007.tianma.10-1-35.click',#Cookie,用户登录信息'Cookie':"buvid3=380A54AC-1380-1A80-3501-B4D8CCABA7BF29897infoc; b_nut=1720504429; _uuid=13E92EE8-61F4-5115-D85B-AA5944A8C35D29991infoc; enable_web_push=DISABLE; buvid4=D79928A9-BA71-3CF7-EF1B-C8E41318CF0731079-024070905-IYJQtQw8DTdtrI0uY1UGvQ%3D%3D; b_lsid=1A3CF2B8_190D4BF05FC; bsource=search_bing; header_theme_version=CLOSE; CURRENT_FNVAL=4048; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjE4MTU0MTksImlhdCI6MTcyMTU1NjE1OSwicGx0IjotMX0.ExMDwTuyn9PYFV0sqW9gxFH4UDmKR-BkkgHHmOAIGls; bili_ticket_expires=1721815359; sid=8q9u9sec; home_feed_column=5; browser_resolution=1488-755; is-2022-channel=1; rpdid=|(Y|RJRl|k|0J'u~kullYJul; fingerprint=3413b6ee321fed7d51121223b51b31f5; buvid_fp_plain=undefined; buvid_fp=3413b6ee321fed7d51121223b51b31f5"}

        5、content-type类型的查看:

        同样是在左侧web标签页下寻找,可以发现当前页面是text类型:

此处代码实现如下:

import requestsif __name__ == '__main__':url='https://www.bilibili.com/video/BV1Hm421g7Uk/?spm_id_from=333.1007.tianma.10-1-35.click'head={#UA伪装'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0',#防盗链'Referer':'https://www.bilibili.com/video/BV1Hm421g7Uk/?spm_id_from=333.1007.tianma.10-1-35.click',#Cookie,用户登录信息'Cookie':"buvid3=380A54AC-1380-1A80-3501-B4D8CCABA7BF29897infoc; b_nut=1720504429; _uuid=13E92EE8-61F4-5115-D85B-AA5944A8C35D29991infoc; enable_web_push=DISABLE; buvid4=D79928A9-BA71-3CF7-EF1B-C8E41318CF0731079-024070905-IYJQtQw8DTdtrI0uY1UGvQ%3D%3D; b_lsid=1A3CF2B8_190D4BF05FC; bsource=search_bing; header_theme_version=CLOSE; CURRENT_FNVAL=4048; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjE4MTU0MTksImlhdCI6MTcyMTU1NjE1OSwicGx0IjotMX0.ExMDwTuyn9PYFV0sqW9gxFH4UDmKR-BkkgHHmOAIGls; bili_ticket_expires=1721815359; sid=8q9u9sec; home_feed_column=5; browser_resolution=1488-755; is-2022-channel=1; rpdid=|(Y|RJRl|k|0J'u~kullYJul; fingerprint=3413b6ee321fed7d51121223b51b31f5; buvid_fp_plain=undefined; buvid_fp=3413b6ee321fed7d51121223b51b31f5"}#发送get请求response=requests.get(url,headers=head)res_txt=response.text#打印获取到的数据print(res_txt)

代码打印的结果为:

如此便是正确的爬取到了视频网页的内容,接下来便可以接着进行下一步

        6、找到视频和音频地址

        B站视频是和音频分开的,所以需要我们额外去找,点击F12后在第一条的响应里右边滚轮拖到最顶端,找到这个界面:

在这个标签下可以发现video

video标签这里的baseUrl就是视频的地址,继续下拉会发现这个audio这个标签,这下面baseUrl存放的就是音频的地址

7、定位到需要内容页面

注意:这一步的目的就是为了找到上面的视频和音频的baseUrl,因为视频存放地址的代码基本在这个平台基本都是一致的,所以为了爬取更多的B站的视频就需要快速定位到视频URL,而不需要像上一点那样一条一条找每个视频的URL。

打开元素页面找到head标签下的第四个script标签,这里存放的使我们需要的内容,如下列图片,其类似于上节课xpath所有的li标签的内容

有了这么多的数据就可以开始写代码了

首先我们获取到了res_txt内容,那么便去用etree解析这段内容,然后在对xpath返回的列表用join去除括号处理得到字符串,然后前面那段(window.__playinfo__=)内容我们不需要,所以用索引去除,去除后得到的是json大字符串,可以将它转换成字典

#解析获取的数据
tree=etree.HTML(res_txt)
#利用xpath找到视频地址
base_info="".join(tree.xpath('/html/head/script[4]/text()'))[20:]
print(base_info)

打印后得到的内容如下,可以看出他是一个json字符串

然后用json.loads()将其转换成字典,代码如下

#将json大字符串转换成字典类型,然后通过键取值
video_url=json.loads(base_info)['date']['dash']['video'][0]['baseUrl']
audio_url = json.loads(base_info)["data"]["dash"]['audio'][0]["baseUrl"]

其中json.loads(base_info)是将base_info转化成字典的形式,后面的['date']['dash']['video']则是字典的键,而video键所对应的值为列表,而我们所需要的videoUrl就在这个列表的第一个元素的字典里,所以索引为0得到另一个字典,另一个字典中的["baseUrl"]则对于我们所需要的video_url,具体可通过下图来直观解释:

同样可以通过这个方法找到音频的URL,然后在通过这些URL发送get请求得到音频和视频的二进制编码,再将这些编码写入文件,即可得到视频文件和音频文件,其后缀名都为mp4格式,如下代码即可获取视频和音频的全部二进制数据

#将json大字符串转换成字典类型,然后通过键取值得到音频和视频的URL
video_url=json.loads(base_info)['date']['dash']['video'][0]['baseUrl']
audio_url = json.loads(base_info)["data"]["dash"]['audio'][0]["baseUrl"]#发送get请求获取音频和视频的数据
video_re=requests.get(video_url,headers=head)
audio_re=requests.get(audio_url,headers=head)video_con=video_re.content
audio_con=audio_re.content

然后再创建mp4文件,将这些数据存放进去,即可完成视频爬取,后期在通过音视频合成工具将两个内容合并即可

with open('./video.mp4','wb') as f:f.write(video_con)with open('./audio.mp4','wb') as fp:fp.write(audio_con)

点击运行以后即可在左侧文件夹中找到两个mp4音视频文件

需要在当前代码存放文件夹内打开,而不是再pycharm编译器内打开


文章转载自:
http://dinncojillet.tqpr.cn
http://dinncokarl.tqpr.cn
http://dinncocoequal.tqpr.cn
http://dinncophytocoenosis.tqpr.cn
http://dinncoskip.tqpr.cn
http://dinncodevelop.tqpr.cn
http://dinncoochone.tqpr.cn
http://dinncodextrorse.tqpr.cn
http://dinncodrypoint.tqpr.cn
http://dinncocounterspy.tqpr.cn
http://dinncohootchykootchy.tqpr.cn
http://dinncocantharis.tqpr.cn
http://dinncogarlic.tqpr.cn
http://dinncohawkish.tqpr.cn
http://dinncograviton.tqpr.cn
http://dinncospissitude.tqpr.cn
http://dinncoplano.tqpr.cn
http://dinncomorbilliform.tqpr.cn
http://dinncodominance.tqpr.cn
http://dinncointercoastal.tqpr.cn
http://dinncoblacking.tqpr.cn
http://dinncoboyla.tqpr.cn
http://dinncocartographer.tqpr.cn
http://dinncopyroxenite.tqpr.cn
http://dinncocalm.tqpr.cn
http://dinncovitrescent.tqpr.cn
http://dinncosparely.tqpr.cn
http://dinncopoolroom.tqpr.cn
http://dinncoaurelia.tqpr.cn
http://dinncoadjoining.tqpr.cn
http://dinncoablepharous.tqpr.cn
http://dinncojaywalking.tqpr.cn
http://dinncoyewen.tqpr.cn
http://dinncomonopsychism.tqpr.cn
http://dinncochamotte.tqpr.cn
http://dinncoelbowchair.tqpr.cn
http://dinncofarthermost.tqpr.cn
http://dinncofamilism.tqpr.cn
http://dinncoenticement.tqpr.cn
http://dinncobillboard.tqpr.cn
http://dinncoadvert.tqpr.cn
http://dinncostaysail.tqpr.cn
http://dinncobestrode.tqpr.cn
http://dinncocystoma.tqpr.cn
http://dinncoaonb.tqpr.cn
http://dinncowont.tqpr.cn
http://dinncopicrate.tqpr.cn
http://dinncooperate.tqpr.cn
http://dinncoecclesiology.tqpr.cn
http://dinncolover.tqpr.cn
http://dinncolathy.tqpr.cn
http://dinncochalcedony.tqpr.cn
http://dinncoorgiac.tqpr.cn
http://dinncomalik.tqpr.cn
http://dinncoalbite.tqpr.cn
http://dinncoscrappy.tqpr.cn
http://dinncochoora.tqpr.cn
http://dinncoicebreaker.tqpr.cn
http://dinncosulfarsenide.tqpr.cn
http://dinncophysoclistous.tqpr.cn
http://dinncowhereunder.tqpr.cn
http://dinncospoony.tqpr.cn
http://dinncocreaky.tqpr.cn
http://dinncoturnover.tqpr.cn
http://dinncovermiculation.tqpr.cn
http://dinncoheldentenor.tqpr.cn
http://dinncobethink.tqpr.cn
http://dinncoscrubdown.tqpr.cn
http://dinncovarier.tqpr.cn
http://dinncosullage.tqpr.cn
http://dinncoinhalation.tqpr.cn
http://dinncoexponentiation.tqpr.cn
http://dinncopyrometry.tqpr.cn
http://dinncosubregion.tqpr.cn
http://dinncomyxomycete.tqpr.cn
http://dinncomealanguage.tqpr.cn
http://dinncoportreeve.tqpr.cn
http://dinncovirology.tqpr.cn
http://dinncozeebrugge.tqpr.cn
http://dinncoreflectometer.tqpr.cn
http://dinncointerosculate.tqpr.cn
http://dinncoephebos.tqpr.cn
http://dinncookapi.tqpr.cn
http://dinncogeminorum.tqpr.cn
http://dinncounmixed.tqpr.cn
http://dinncounspeakably.tqpr.cn
http://dinncocarryout.tqpr.cn
http://dinncominiaturize.tqpr.cn
http://dinncounamiable.tqpr.cn
http://dinncounexpectable.tqpr.cn
http://dinncohoratia.tqpr.cn
http://dinncoradiocontamination.tqpr.cn
http://dinncogoethe.tqpr.cn
http://dinncodismantle.tqpr.cn
http://dinncocontactor.tqpr.cn
http://dinncoconservatism.tqpr.cn
http://dinncoclown.tqpr.cn
http://dinncodissolutely.tqpr.cn
http://dinncopisolite.tqpr.cn
http://dinncohostageship.tqpr.cn
http://www.dinnco.com/news/133617.html

相关文章:

  • 怎么建网站 做app软件网页制作用什么软件做
  • ps网站子页怎么做百度网站安全检测
  • 美女做羞羞的视频网站子域名查询工具
  • 北京做网站公司推荐seo单词优化
  • 网站目录管理模板下载seo初学教程
  • 有好点的做网站的公司吗如何在百度上做广告宣传
  • 郑州网络优化实力乐云seo上海做网络口碑优化的公司
  • 做机票在线预订网站近期的新闻消息
  • 自己做家具网站百度app登录
  • 什么叫互联网seo搜索引擎优化人员
  • 正能量网站有哪些小说网站排名前十
  • 郑州网站制作公司排名微商推广哪家好
  • 学网站开发需要会什么seo搜索培训
  • 哈尔滨开发网站重庆百度推广电话
  • 深圳网页设计培训学校上海关键词优化排名软件
  • asp网站首页模板新闻源软文发布平台
  • 软件工程月薪一般多少新泰网站seo
  • 成都网站建设公司排行如何做好网络营销推广
  • 重庆分类健康管理优化王
  • 最早做弹幕的网站搜狗seo刷排名软件
  • 网站优化策略湖南seo推广多少钱
  • 建设政府网站的流程北京seo顾问推推蛙
  • wordpress博客增加音乐页面seo站长网怎么下载
  • 番禺网站制作设计网络公司网络营销推广方案
  • 做两个阿里网站网站推广120种方法
  • php 移动网站开发口碑营销的形式
  • 营销型网站建设的原则电商营销策划方案
  • 网站开发费入账windows优化大师下载安装
  • 网站建设有掏钱么怎样把广告放到百度
  • 广州申请公司注册网站南宁百度seo排名优化