如何将提取网页PID的Python代码转换为功能一致的Ruby代码
Ruby 提取文本中指定数字ID的实现方案
需求说明
我正在开发一款Ruby脚本,用于抓取网页源码并写入文件,后续需要从该文件的杂乱内容中提取特定数据。目前我可以用Python实现需求得到所需数组,但不想通过调用Python脚本再回读结果的方式完成流程,希望能在Ruby中直接实现相同功能,免去跨脚本调用的开销。我刚接触Ruby不久,对相关语法还不熟悉。
如果实在没有更优方案,我只能让Ruby脚本休眠后调用Python脚本,将结果写入新文件再由Ruby读取,但我希望尽可能提升执行效率。
原Python实现代码
#!/usr/bin/env python import re f = open("C:/Users/Steve/Desktop/scripts/testout.txt", encoding="utf8") da = f.read() f.close() matches = re.findall('href="/normal/PropertyDetails.rb.PID=(\d+)', str(da)) res = [] for i in matches: if i not in res: res.append(i) print(str(res))
最终Ruby实现方案
在参考了相关建议后,我找到了对应的实现方法,简化后的Ruby代码如下:
data = driver.page_source res = data.scan(/.PID=(\d+)/) print(res.uniq)
现在我可以继续推进Ruby脚本的开发了,其余功能我已经可以自行实现,感谢大家的帮助。
内容的提问来源于stack exchange,提问作者Steven Greer
相关产品推荐
相关产品推荐

