m0_59859095 2021-12-10 22:46 采纳率: 100%
浏览 61
已结题

正则表达式怎么data_original中的图片地址

import requests,re
from openpyxl import Workbook
# wb=Workbook()
# ws =wb.active
# ws.append(["详情介绍"])
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36"
}
# https://www.hjutv.cn/detail_6119.html
page_url="https://www.hjutv.cn/show_2________{}___.html"
detail_url="https://www.hjutv.cn/detail_{}.html"
for i in range(1,28):
    url = page_url.format(i)
    response = requests.get(url=url, headers=headers)
    html = response.text
    li_pattern = re.compile(r'<li class="vodlist_item .*?">(.*?)</li>', re.S)
    li_list = li_pattern.findall(html)
    href_pattern = re.compile(r'detail_(\d+)', re.S)
    detail_pattern = re.compile(r'<div class="content_desc context clearfix"><span>([^<]+)', re.S)
    name_pattern = re.compile(r'<p class="vodlist_title"><a .*?>(.*?)</a></p>', re.S)
    img_pattern =re.compile(r'<a class="vodlist_thumb lazyload" data-original=([^<]+)>')
    for li in li_list:
        href = href_pattern.findall(li)[0]
        href = detail_url.format(href)
        # print(href)
        name = name_pattern.findall(li)[0]
        print(name)
        img =img_pattern.findall(li)
        with open("./data/{}.jpg".format(name), "wb") as f:
            f.write()

<a class="vodlist_thumb lazyload" href="/index.php/detail_6091.html"
data_original="https.jpg" ></a>

  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2021-12-10 23:19
    关注

    不需要正则,直接用xpath即可获取。img=li.xpath('.//a/@data-original')[0]

    https://tva1.sinaimg.cn/large/c0e0f216gy1gwqtznc9oxj207i0aot92.jpg
    https://tva1.sinaimg.cn/large/003wZMYmgy1gv3ve3dopkj609o0d7jru02.jpg     
    https://tva1.sinaimg.cn/large/c0e0f216gy1gwb2x8dy4cj207i07iaa6.jpg
    https://tva1.sinaimg.cn/large/c0e0f216gy1gw34sisxu2j207i0b9dg8.jpg
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月13日
  • 已采纳回答 12月13日
  • 创建了问题 12月10日

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100