其中有个使用浏览器的步骤需要根据报错的提示,下载exe文件,放到某个目录,然后再修改Selenium中的源代码,指明exe的目录。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50import bs4 import urllib.request from selenium import webdriver import os#需要导入的模块,如果没有请安装 def convert_link(raw_link):#把链接中的转义字符变成地址中原本的字符。 temp = raw_link.replace("%2F", "/").replace("%3A", ":") end = temp.index("&d=") return temp[10:end] def down_video(down_url,file_path):#下载视频,第一个参数是下载链接,第二个是保存路径 print("downloading...") f = urllib.request.urlopen(down_url) data_=f.read() with open(file_path,"wb") as file: file.write(data_) print("success"+file_path) browser = webdriver.Edge()#使用selenium这个模块,这个需要下载浏览器驱动exe文件,然后修改webdriver.Edge()源代码。 url="你的url" browser.get(url) # Load page content=browser.page_source bs=bs4.BeautifulSoup(content,features='lxml')#解析整个网页 results=bs.find("div",class_="某个名字")#这个是要查到的内容的父容器,自行修改 links=[] datas=[] for i in results.find_all("a"): links.append(i.get("href")) datas.append(i.get("data"))#获取链接和数据字段 site="你的网站名"#网站的域名 down_links=[]#保存下载的路径 for link in links: browser.get(site + link) content=browser.page_source#再次调用浏览器加载动态网页 bs=bs4.BeautifulSoup(content,features="lxml") down_link = bs.find("a", id="downVideo").get("href") down_links.append(convert_link(down_link)) browser.close()#关闭浏览器 main_path="你的保存路径"#文件保存路径,如果不存在就会被重建 if not os.path.exists(main_path): os.makedirs(main_path) for i,(link,data) in enumerate(zip(down_links,datas)): path=main_path+"P"+str(i+1)+" "+data.replace("n","")+".mp4"#这里替换是因为有些标题里面有换行符 down_video(link,path)
仅供参考,具体代码还要根据你要爬取的网站的结构修改。如果发现什么问题,或者有什么更好的建议,欢迎评论!
最后
以上就是孝顺发箍最近收集整理的关于Python3+Beautiful Soup4+Selenium爬虫,爬取网站视频的全部内容,更多相关Python3+Beautiful内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复