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

网站建设进度的问题/seo做的比较牛的公司

网站建设进度的问题,seo做的比较牛的公司,h5游戏平台代理,企业形象网站建设实验17:爬虫2 文章目录 实验17:爬虫21.实验目标及要求2. 实验主要内容3.实验小结 1.实验目标及要求 (1)掌握有关爬虫的包 (2)掌握爬虫方法 (3)爬取B站卡塔尔世界杯若干视频 2. 实验…

实验17:爬虫2

文章目录

      • 实验17:爬虫2
      • 1.实验目标及要求
      • 2. 实验主要内容
      • 3.实验小结

1.实验目标及要求

(1)掌握有关爬虫的包
(2)掌握爬虫方法
(3)爬取B站卡塔尔世界杯若干视频

2. 实验主要内容

代码部分:
import json
import os
import re
import time
import requests
from selenium.webdriver import Edge
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys# 请求头信息
head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.67','Referer': 'https://www.bilibili.com/video/BV1NG4y1R7re/?spm_id_from=333.1007.tianma.1-1-1.click&vd_source=bd03a18123cf7caa08dcac9d5ef031d6'
}# 绑定浏览器事件
web = Edge()
web.get('https://www.bilibili.com/')# 爬取视频函数
def DownloadVideo(title,saveName):# 爬取 class="col_3 col_xs_1_5 col_md_2 col_xl_1_7 mb_x40"的div下的视频,B站网页版一页24个视频if title == 1:contents = web.find_elements(By.XPATH, ('//*[@id="i_cecream"]/div/div[2]/div[2]/div/div/div/div[1]/div/div[@class="col_3 col_xs_1_5 col_md_2 col_xl_1_7 mb_x40"]'))else:contents = web.find_elements(By.XPATH, (
'//*[@id="i_cecream"]/div/div[2]/div[2]/div/div/div[1]/div[@class="col_3 col_xs_1_5 col_md_2 col_xl_1_7 mb_x40"]'))# 视频编号
j = 0
for content in contents[:24]:j += 1# 点入视频主页
content.find_element(By.XPATH,('.//div/div[2]/a')).click()# 切换到最后一个网页web.switch_to.window(web.window_handles[-1])time.sleep(2)# 获取网页源代码,并找到视频下载地址page = web.page_sourcejson_data = re.findall('<script>window.__playinfo__=(.*?)</script>', page)[0]json_data = json.loads(json_data)# 下载提取视频video_url = json_data['data']['dash']['video'][0]['backupUrl'][0]# 保存视频video_data = requests.get(url=video_url, headers=head).contentwith open('./{}/{}_{}.mp4'.format(saveName,title, j), 'wb') as f:f.write(video_data)time.sleep(2)# 关闭当前网页,回到第二个网页web.close()web.switch_to.window(web.window_handles[1])print('成功下载第{}页,第{}个视频'.format(title, j))
time.sleep(5)# 主函数
def get_target(keyword, page, saveName):
# 在网页搜索栏内输入搜索内容
web.find_element(By.XPATH, ('//*[@id="nav-searchform"]/div[1]/input')).send_keys("{}".format(keyword),Keys.ENTER)
time.sleep(5)# 创建文件夹os.mkdir("./{}".format(saveName))# 循环获取不同页的视频for i in range(0, page):
# 窗口切换
web.switch_to.window(web.window_handles[-1])
i += 1# 调用爬取视频函数
DownloadVideo(i, saveName)# 浏览器事件,锁定下一页按钮并点击
if i == 1:
time.sleep(5)
web.find_element(By.XPATH, ( '//*[@id="i_cecream"]/div/div[2]/div[2]/div/div/div/div[2]/div/div/button[10]')).click()
elif 1 < i <= 5:time.sleep(5)web.find_element(By.XPATH,              ('//*[@id="i_cecream"]/div/div[2]/div[2]/div/div/div[2]/div/div/button[10]')).click()
else:time.sleep(5)web.find_element(By.XPATH,
('//*[@id="i_cecream"]/div/div[2]/div[2]/div/div/div[2]/div/div/button[9]')).click()if __name__ == '__main__':
keyword = input('请输入要搜索的关键词:')
page = int(input('请输入爬取的页数:'))
saveName = input('请输入要保存的文件名:')
get_target(keyword, page, saveName)

实验结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.实验小结

学Python不弄点爬虫,总觉得不完整,这一次和上一次我使用的都是selenium库进行爬虫,但这次也依靠了requests库。一看到实验需要进行输入查找视频内容,在我的脑海中只想到了使用selenium库的浏览器事件处理会比较简单一些,但是找了很多资料也没能弄明白selenium库如何进行下载视频,目前为止只会使用selenium库进行获取B站的视频资料,比如up主,视频名称,播放量等等信息,对于如何下载视频还是没能弄明白,所以我就使用了requests库进行下载视频的任务,发现了结合不同的爬虫的方法进行爬虫可以简便许多,果然在学习上还是要进行知识上的汇集,使各种方法进行有机集合,形成一个简便的解决方式。
实验过程中也是出现了很多的问题,最多的问题就是浏览器的xpath路径了,不同的页数的下一页按钮还不一样,一开始测试循环点击下一页的时候报错了好几次,经过刺激摸索发现了问题所在,一共分成了三种情况,所以我就使用if语句对问题进行解决,发现能够成功运行。对于这种xpath路径问题出现了很多次,但解决难度不大,主要是比较多而麻烦。实验过程中还要不断的进行切换网页,因为想要下载B站视频需要点击观看视频,从而获取B站视频下载链接,所以关闭当前网页,切换网页就是很关键的了。

http://www.jmfq.cn/news/5322889.html

相关文章:

  • 中国城乡建设部网站/seo关键词快速获得排名
  • 四川住房城乡建设周刊网站/长春网站公司哪家好
  • 电商网站建设与运营成本/深圳整合营销
  • 蔚县网站建设wl17581/上海推广服务
  • 团队网站建设/石家庄新闻网
  • 建设银行网站安全分析/产品软文是什么意思
  • 深圳网站建设saote/网站推广与优化平台
  • 网站建设 技术方案/图片百度搜索
  • 网站建设客户确认单/廊坊优化技巧
  • 哈尔滨城乡建设委员会的网站/谷歌商店paypal官网
  • 网站建设的域名/百度快照下载
  • 长治网站建设推广/友情链接交换的作用在于
  • 一元购网站的建设/网络推广公司北京
  • 招聘网站建设保定/做百度推广效果怎么样
  • 网站建设的wbs分解/网页生成器
  • 网站建设集团/福州网站关键词推广
  • 辽阳企业网站建设/上海百度搜索优化
  • 临海大经建设集团网站/绍兴seo推广
  • 顺德品牌网站建设价格/5118站长工具
  • 重庆公司网站建设步骤/北京网站建设公司案例
  • 新疆建设局网站首页/seo北京公司
  • 网站建设前景如何/今天最新疫情情况
  • 巢湖路桥建设集团网站/关键词优化百家号
  • 网站建设要注意/seo外包网络公司
  • 新疆网站建设推广/精准营销
  • 网站 新媒体建设情况/青岛百度网站排名优化
  • 携程网站建设的优缺点/站长之家爱站网
  • 网站建设源码是什么/中国企业网
  • 昆明网站建设搜王道下拉/百度网页版 入口
  • 南宁市建设委员会网站/晋城今日头条新闻