以前解析HTML用的是BS,RE或者PyQuery,使用XML解析后我发现还是比较好用的。后面附有代码,当然,如果读者想用做课程设计,可以有所改进,如增加数量,识别视频内容(使用opencv)等等,以包图网作为列子.
用最普通的IDLE运行:
爬取下载后的文件:
'''
1 请求包图网拿到HTML数据
2 抽取数据,视频链接,名字
3 下载视频
4 保存视频
'''
import requests
from lxml import etree
#1 请求包图网拿到HTML数据
url=r"https://ibaotu.com/shipin/"
response=requests.get(url)
#print(response.text)#查看html数据
html=etree.HTML(response.text)
src_list=html.xpath('//div[@class="video-play"]/video/@src')#得到视频链接
tit_list=html.xpath('//div[@class="video-titbox"]/a/span[@class="video-title"]/text()')#得到视频名字
#print(src_list)
#print(tit_list)
for src,tit in zip(src_list,tit_list):
#print(src,tit,'\n')
resp=requests.get("https:"+src)
fileName="D:\\Spiders_file\\video\\"+str(tit)+".mp4"
print("正在保存:" + fileName)
with open(fileName,"wb") as f:
f.write(resp.content)
f.close()