以下是我的网页搜索代码。我希望返回正则表达式的结果,但由于某种原因它只返回' []'。
非常感谢任何帮助。
谢谢
import urllib.request
import re
url = ('https://www.myvue.com/whats-on')
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
def main():
html_page = urllib.request.urlopen(req).read()
content=html_page.decode(errors='ignore', encoding='utf-8')
headings = re.findall('<th scope="col" abbr="(.*?)">', content)
print(headings)
main()
答案 0 :(得分:0)
就像每个人都说的那样,不要使用正则表达式解析结构良好的数据,并且已经有大量的解析器。但是,正如你所说的那样,你已被告知这样做了#34;,这是一个提示。
测试你正在尝试捕获脚本之外的一些模式的正则表达式,就像这样做::
re.compile('<th scope="col" abbr="(.*)">').match('<th scope="col" abbr="hello">').groups()
当你获得绝对正确的模式时,只能对那个大的html文件运行它。请注意我是如何从正则表达式中移除?
的,因为您已经有*
。