我在Windows Vista 64位上使用Python.org版本2.7 64位。我正在使用带有Scrapy的正则表达式来解析下一页中名为“Datastore.prime”的第一个Javascript项中包含的数据:
Link here 我正在使用的正则表达式是:
regex = re.compile('DataStore\.prime\(\'standings\', { stageId: \d+ }.*')
match2 = re.findall(regex, response.body, re.S)
match3 = str(match2)
match3 = match3.replace('<a class="w h"', '').replace('<a class="w a"', '').replace('<a class="d h"', '') \
.replace('<a class="d a"', '').replace('<a class="l h"', '').replace('<a class="l a"', '') \
.replace('title=', '')
print match3
然而,这会在这篇文章的标题中引发错误:
raise ValueError('Cannot process flags argument with a compiled pattern')
exceptions.ValueError: Cannot process flags argument with a compiled pattern
任何人都可以看到问题所在吗?
由于
答案 0 :(得分:4)
您需要将修改器放在re.compile
模式中,也可以在此处使用原始字符串表示法。
regex = re.compile(r"DataStore\.prime\('standings', { stageId: \d+ }.*", re.S)
^^^^