鱼C论坛

 找回密码
 立即注册
查看: 1022|回复: 8

[已解决]正则表达式,从html中获取资源

[复制链接]
发表于 2018-5-28 10:35:22 | 显示全部楼层 |阅读模式
100鱼币
有一个优惠券部分html代码如下:
  1. <table class="table table-hover table-bordered">
  2.                                                                 <thead>
  3.                                                                         <tr class="info">
  4.                                                                                 <th>券码</th>
  5.                                                                                 <th>兑换积分</th>
  6.                                                                                 <th>生成时间</th>
  7.                                                                                 <th>过期时间</th>
  8.                                                                                 <th>状态</th>
  9.                                                                         </tr>
  10.                                                                 </thead>
  11.                                                                 <tbody>
  12.                                                                                                                                                 <tr>
  13.                                                                                 <td>B0462EB8F3F29BEE</td>
  14.                                                                                 <td>100</td>
  15.                                                                                 <td>2018-05-28</td>
  16.                                                                                 <td>2019-05-28</td>
  17.                                                                                 <td>
  18.                                                                                 已使用                                                                        </td>
  19.                                                                         </tr>
  20.                                                                                                                                                 <tr>
  21.                                                                                 <td>F96F556F59D5B565</td>
  22.                                                                                 <td>100</td>
  23.                                                                                 <td>2018-05-28</td>
  24.                                                                                 <td>2019-05-28</td>
  25.                                                                                 <td>
  26.                                                                                 未使用                                                                        </td>
  27.                                                                         </tr>
  28.                                                                                                                                                 <tr>
  29.                                                                                 <td>6942ED3759F801B5</td>
  30.                                                                                 <td>100</td>
  31.                                                                                 <td>2018-05-28</td>
  32.                                                                                 <td>2019-05-28</td>
  33.                                                                                 <td>
  34.                                                                                 未使用                                                                        </td>
  35.                                                                         </tr>
  36.                                                                                                                                                 <tr>
  37.                                                                                 <td>54274CA83ED1D0A1</td>
  38.                                                                                 <td>100</td>
  39.                                                                                 <td>2018-05-28</td>
  40.                                                                                 <td>2019-05-28</td>
  41.                                                                                 <td>
  42.                                                                                 未使用                                                                        </td>
  43.                                                                         </tr>
  44.                                                                                                                                                 <tr>
  45.                                                                                 <td>07334BDCC66AAD01</td>
  46.                                                                                 <td>100</td>
  47.                                                                                 <td>2018-05-28</td>
  48.                                                                                 <td>2019-05-28</td>
  49.                                                                                 <td>
  50.                                                                                 未使用                                                                        </td>
  51.                                                                         </tr>
  52.                                                                                                                                                 <tr>
  53.                                                                                 <td>9F538B2D948A50A6</td>
  54.                                                                                 <td>100</td>
  55.                                                                                 <td>2018-05-28</td>
  56.                                                                                 <td>2019-05-28</td>
  57.                                                                                 <td>
  58.                                                                                 未使用                                                                        </td>
  59.                                                                         </tr>
  60.                                                                                                                                                 <tr>
  61.                                                                                 <td>6A0A5A39F07424F5</td>
  62.                                                                                 <td>100</td>
  63.                                                                                 <td>2018-05-28</td>
  64.                                                                                 <td>2019-05-28</td>
  65.                                                                                 <td>
  66.                                                                                 未使用                                                                        </td>
  67.                                                                         </tr>
  68.                                                                                                                                                 <tr>
  69.                                                                                 <td>8AAC1BEC138BDBF4</td>
  70.                                                                                 <td>100</td>
  71.                                                                                 <td>2018-05-28</td>
  72.                                                                                 <td>2019-05-28</td>
  73.                                                                                 <td>
  74.                                                                                 未使用                                                                        </td>
  75.                                                                         </tr>
  76.                                                                                                                                                 <tr>
  77.                                                                                 <td>589585C8E8BCC4C9</td>
  78.                                                                                 <td>100</td>
  79.                                                                                 <td>2018-05-28</td>
  80.                                                                                 <td>2019-05-28</td>
  81.                                                                                 <td>
  82.                                                                                 未使用                                                                        </td>
  83.                                                                         </tr>
  84.                                                                                                                                                 <tr>
  85.                                                                                 <td>4E7308EAE168038C</td>
  86.                                                                                 <td>100</td>
  87.                                                                                 <td>2018-05-28</td>
  88.                                                                                 <td>2019-05-28</td>
  89.                                                                                 <td>
  90.                                                                                 未使用                                                                        </td>
  91.                                                                         </tr>
  92.                                                                                                                                         </tbody>
  93.                                                         </table>
复制代码



想获取到未使用的代金券id
也就是类似这个内容,一定是未使用的优惠券
  1.                                                                                 <td>4E7308EAE168038C</td>
  2.                                                                                 <td>100</td>
  3.                                                                                 <td>2018-05-28</td>
  4.                                                                                 <td>2019-05-28</td>
  5.                                                                                 <td>
  6.                                                                                 未使用                                                                        </td>
复制代码


请问正则表达式如何编写
最佳答案
2018-5-28 10:35:23
想要鱼币,这位客观瞅瞅,不满意追问,7*24在线解答

  1. import re

  2. with open('html.txt','r') as f:
  3.     html=f.read()

  4. #html是网页源代码
  5. html=html.replace(' ', '')
  6. html=html.replace('\n', '')
  7. a=re.findall(r'<tr><td>(.*?)</td><td>.+?</td><td>未使用</td></tr>',html)

  8. print(a)#未使用的结果
复制代码

最佳答案

查看完整内容

想要鱼币,这位客观瞅瞅,不满意追问,7*24在线解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-28 10:35:23 | 显示全部楼层    本楼为最佳答案   
想要鱼币,这位客观瞅瞅,不满意追问,7*24在线解答

  1. import re

  2. with open('html.txt','r') as f:
  3.     html=f.read()

  4. #html是网页源代码
  5. html=html.replace(' ', '')
  6. html=html.replace('\n', '')
  7. a=re.findall(r'<tr><td>(.*?)</td><td>.+?</td><td>未使用</td></tr>',html)

  8. print(a)#未使用的结果
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-28 12:14:12 | 显示全部楼层
  1. p=re.compile('<td>.*?</td>\s*?<td>.*?</td>\s*?<td>.*?</td>\s*?<td>.*?</td>\s*?<td>\s*?未使用\s*?</td>')
复制代码

对re不是很熟
条件允许的话建议使用bs+re
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-28 12:28:23 | 显示全部楼层
本帖最后由 Python小当家 于 2018-5-28 12:42 编辑
  1. import re
  2. idlist=[]
  3. index=0
  4. while True:
  5.     idIndex=re.search(r"<td>",html[index:])
  6.     if idIndex==None:
  7.         break
  8.     index=re.search(r"使用",html[idIndex.start():]).start()
  9.     if html[index-1:index]=="未":
  10.         idlist.append(html[idIndex.start()+4:idIndex.start()+20])

  11. for list in idlist:
  12.     print(list)
复制代码
捕获.JPG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-29 11:49:01 | 显示全部楼层
楼上写的对&#9989;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-29 21:41:18 | 显示全部楼层
大西瓜吃吃 发表于 2018-5-29 21:39
想要鱼币,这位客观瞅瞅,不满意追问,7*24在线解答

补图

求采纳喔~

求采纳喔~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-6-1 12:23:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-1 14:35:52 | 显示全部楼层
大西瓜吃吃 发表于 2018-5-28 10:35
想要鱼币,这位客观瞅瞅,不满意追问,7*24在线解答

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-1 14:36:24 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 21:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表