leSize数据存入到列表中
进阶写法
page_uri_list = [[data["picPath1"], data["videoPath1"], data["address"] ] for data in data_list] #从Json中读取三种数据,以元组的形式保存进列表
static_uri_path.extend(page_uri_list)#在while循环中,合并到一个整体列表中
for index, (img_uri, video_uri, address) in enumerate(static_uri_path , start=index_):
#static_uri_path中有三个元素,分别读取
#加入index序列循环
#start可以设定初始值
if img_uri is not None :
abs_img_path = os.path.join(imgs_path, f"{d_date.split('-')[0]}_{d_date.split('-')[1]}_{d_date.split('-')[2]}_{index}.jpeg")
request_file(img_uri, abs_img_path)
print(abs_img_path)
if video_uri is not None and IS_VIDEO:
abs_video_path = os.path.join(videos_path, f"{d_date.split('-')[0]}_{d_date.split('-')[1]}_{d_date.split('-')[2]}_{index}.mp4")
request_file(video_uri, abs_video_path)
Xpath路径读取的一些相关操作
headers = {
"Cookie": abs_cookies,
"User-Agent": UA
}
response = requests.get(f"http://219.239.221.20:8088/cffm20/Monitoring/Details/{imageId}", headers=headers).text
tree = etree.HTML(response)
mar_b_10_div = tree.xpath('//div[@class="pad_15 jbxx_section"]/div[@class="clearfix mar_b_10"]')
#选取所有div元素,是拥有"pad_15 jbxx_section"class属性的div元素中的拥有"clearfix mar_b_10"class属性的所有div元素
img_url = mar_b_10_div[1].xpath("./div[2]/a/@href")[0]#最后这个[0],加的话是读取列表中元素,不加的话是个列表
txt_url = mar_b_10_div[2].xpath("./div[2]/a/@href")[0]
#./是当前目录,当前目录下第2个div元素,div中的a元素,然后选取a元素中所有的href属性
clearfix_mar_b_10_div = tree.xpath('//div[@class= "pad_15 tpxx_section"]/div[@class = "clearfix mar_b_10"]')
file_date = clearfix_mar_b_10_div[3].xpath("./div[2]/text()")[0] #text()可以获得><之间的标签,