锤240 2022-06-08 15:28 采纳率: 100%
浏览 34
已结题

正则之后只有最后一个数据

问题遇到的现象和发生背景

正则之后只有最后一个数据

###### 问题相关代码,请勿粘贴截图 
```python
#coding=gbk
from selenium import webdriver
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import re
import pandas as pd
import lxml.html


opt = Options()
opt.add_experimental_option('excludeSwitches', ['enable-automation'])
opt.add_argument('--disable-blink-features')
opt.add_argument('--disable-extensions')
opt.add_argument('--disable-blink-features=AutomationControlled')
driver = webdriver.Chrome(options=opt) # 创建driver对象
driver.get('https://www.acfun.cn/u/1075162') #打开页面
html=driver.page_source #访问整个页面的内容
time.sleep(2)
driver.close() #关闭页面


xp=lxml.html.fromstring(html) #lxml对象
units=xp.xpath('//figcaption') #没有text()
df = pd.DataFrame()


df = None
for u in units:
    w = {}
    w["标题"]=u.xpath('./p [@class="title line"]/text()')[0]
    w["观看与弹幕"]=u.xpath('./p [@class="play-info"]/text()')[0]
    w["日期"] = u.xpath('./p [@class="date"]/text()')[0]
    if w["标题"]==[]:
        print('无')

    dff = pd.DataFrame([w])
    df = pd.concat([df, dff], ignore_index=True)
    print(w["观看与弹幕"])





a = re.findall(r'\d+[.]\d+', w["观看与弹幕"])

print(a)
###### 运行结果及报错内容 
观看4.7万 • 弹幕135 
观看20.1万 • 弹幕243 
观看8.0万 • 弹幕95 
观看16.5万 • 弹幕1564 
观看11.0万 • 弹幕187 
观看6.9万 • 弹幕131 
观看6.3万 • 弹幕14 
观看21.4万 • 弹幕395 
观看9.9万 • 弹幕297 
观看11.7万 • 弹幕269 
观看12.2万 • 弹幕210 
观看19.4万 • 弹幕50 
观看90.6万 • 弹幕620 
观看10.7万 • 弹幕105 
观看39.9万 • 弹幕1100 
观看14.6万 • 弹幕224 
观看11.7万 • 弹幕170 
观看10.3万 • 弹幕387 
观看16.5万 • 弹幕727 
观看15.6万 • 弹幕318 
['15.6']

###### 我的解答思路和尝试过的方法 

###### 我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-06-08 16:28
    关注

    因为你是在for循环之外使用的正则,所以 w["观看与弹幕"]只有最后一次循环遍历的内容。
    如果要全部遍历,就把这句也放在for循环里:
    a = re.findall(r'\d+[.]\d+', w["观看与弹幕"])

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月16日
  • 已采纳回答 6月8日
  • 创建了问题 6月8日

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来