【发布时间】:2020-01-28 19:46:23
【问题描述】:
在 Python 中工作,我正在尝试创建一个函数,该函数将股票代码作为字符串接收,并使用从 Yahoo! 抓取的 html 数据返回公司名称。金融。除了包含撇号的公司之外,我已经让它适用于所有公司。我检查了 html 代码,发现撇号是这样编码的——我很确定它是用 ASCII 编码的。下面是修改后的 html 代码:
html = '<!DOCTYPE html><html id="atomic" class="NoJs featurephone" lang="en-US"><head prefix="og: http://ogp.me/ns#"><script>window.performance && window.performance.mark && window.performance.mark(\'PageStart\');</script><meta charset="utf-8"/><title>Dick's Inc (DKS) Company Profile & Facts'
我想要返回的是“Dick's”。我得到的只是“迪克”。我正在使用 re 模块和 re.search。这是我的代码:
company_name = (re.search(r'(?<=</script><meta charset="utf-8"/><title>)\w+', html).group(0))
我尝试包含撇号以确保它不会停在那里,但由于它不是 html 代码的一部分,所以它在任何地方都找不到它。我应该使用 re.search 以外的东西吗?我研究了 re.findall 但这并不能解决我查找和包含“'”的问题,而是以撇号的形式出现。
【问题讨论】:
标签: python html regex text ascii