import requests
import re
import os
from lxml import etree# 地址 豆瓣 复仇者联盟4:终局之战 的全部演职员
url = ""
# 请求
res = (url)
if res.status_code != des.ok:print('演职员地址请求失败!')exit()# 转码
ding = 'utf-8'# 保存文件
# with open('one.html', 'w') as f:
# f.)# 建立HTML树
tree = etree.)
path_name = '//div[@id="wrapper"]/div[@id="content"]/h1/text()'# 创建照片文件夹
folder = os.getcwd()+'/imgs/'+tree.xpath(path_name)[0] + '/'
if not ists(folder):print('创建文件夹')os.makedirs(folder)# 标题 节点位置
# class 有多个必须写全 例如 含有两个 celebrities-list __multiline 不能只写一个
path_title = '//div[@class="list-wrapper"][2]/ul[@class="celebrities-list __multiline"]/li/a'# 提取 标题 节点
node_title = tree.xpath(path_title)
# # 正则
re_str = 'img+.*[jpg|png]'for title_node in node_title:title = ('title')# 子节点的获取,线转化为字符串再转化为HTML树treec = etree.string(title_node))# 地址位置节点path_url = '//div'# 提取节点node_url = treec.xpath(path_url)if len(node_url) > 0:# 获取含有图片地址的属性line = node_url[0].get('style')# 正则匹配matchObj = re.search( re_str, line)img_url = up()if matchObj:# 保存文件with open(folder+title+img_url[-4::], 'wb') as f:f.(img_url).content)print('下载成功'+title)else:print('文件地址未查询到'+title)
本文发布于:2024-01-30 13:47:56,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170659367920434.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |