神码ai火车头采集器伪原创【php源码】( 三 )


#获取到所有的img标签,返回值为列表imgs=soup.find_all('img')for i in imgs:#img标签中src的值print(i.get('src'))
3.5 获取指定标签内所有的元素
print(soup.p.contents)

神码ai火车头采集器伪原创【php源码】

文章插图
3.6 获取标签的父标签
print(soup.a.parent)
四、存储数据
1、存储为:文本文档(txt)、表格(excel)、图片、音频、视频
2、写出媒体思路:①在网页上找到媒体链接;②保存媒体链接;③向媒体链接发起请求;④通过返回的请求内容下载媒体
3、注意:本章节只讲解写操作,写出什么文件写什么格式
4.1 with open() as f: 用法
#格式with open('./文件路径/文件名.文件类型','权限') as f:f.write('字符型文本')
权限作用
写入,新的会覆盖旧的
写入,在末尾追加写入,不会覆盖旧的
wb
写入,以二进制的方式写入(图片、音频、视频)
4.2 写入为文本文档(txt)
#将变量里的内容写入到“文本.txt”文件中,没有"文本.txt"会自动创建wb='我是被爬取下来的文字'with open('文本.txt','w') as f:f.write(wb)
4.3 循环写入到文本文档中(txt)
#将列表里的内容循环到“文本.txt”文件中,没有"文本.txt"会自动创建wb=['文本1','文本2','文本3','文本4']for i in wb:with open('文本.txt','a') as f:f.write(i)
4.4 存储图片
#导入请求库import requests#请求头headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.42'}#图片地址列表imgs=['https://img-blog.csdnimg.cn/a263ea6716ff44d4a2a825dbf26d2666.png','https://img-blog.csdnimg.cn/43112c81ed164acfb45295f516d08925.png']#为图片命名的变量i=1#遍历图片地址for img in imgs:#向图片地址发起请求,并且获取请求内容res=requests.get(url=img,headers=headers).content#写出图片(注意:权限是wb,写图片扩展名和获取的图片保存一致)with open(str(i)+'.png','wb') as f:#写出的参数为请求回来的内容f.write(res)i+=1print("写出成功!")
4.5 存储视频
写出音频也是如此
#导入库import requests#请求头headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.42'}#视频地址video='https://prod-streaming-video-msn-com.akamaized.net/3f6ca508-598d-4cbd-a3e2-43deea7bc377/b60c553e-9f3f-4164-8850-700a9a73a899.mp4'#发起请求res=requests.get(url=video,headers=headers).content#写出视频with open('视频.mp4','wb') as f:f.write(res)print("写出成功!")
4.6 存储为excel
sheet.write(行,列,内容)
注意:行和列都是从0开始的,保存的格式为:.xls
#导入写出excel的库import xlwt#写入的数据tn=['姓名','性别','年龄']wb=['玲华','女','18']#1、创建Workbook对象,就是创建Excel文件work_boot=xlwt.Workbook(encoding='utf-8');#2、创建sheet表单sheet=work_boot.add_sheet('formName') #formName为表单名称#3、写入内容for i in range(len(wb)):sheet.write(0,i,tn[i])#write(行,列,内容)sheet.write(1,i,wb[i])#保存文件work_boot.save("个人信息.xls")