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日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改