我正在试图解析一个craigslist rss feed以提取位置信息。
我使用feedparser将脚本解析为条目和条目描述。不幸的是,地址信息包含在描述部分的不规则标签中。
地址包含在如下所示的部分中:
<!-- CLTAG xstreet0=11832 se 318pl -->
<!-- CLTAG xstreet1= -->
<!-- CLTAG city=auburn -->
<!-- CLTAG region=wa -->
11832 se 318pl
Feedparser不喜欢那些CLTAGS。我试图用正则表达式捕获第一行看起来像这样:
addressStart = r'!-- CLTAG xstreet0='
addressEnd = r'-->'
prog = re.compile(addressStart(.*?)addressEnd)
result = prog.match(string)
......但那没用。我究竟做错了什么?这里是rss feed的链接我正在使用'http://seattle.craigslist.org/see/apa/index.rss'
非常感谢任何帮助!
答案 0 :(得分:2)
这是一些无效的语法。除非引用字符串,否则不能连接/格式化字符串。尝试:
addressStart = r'!-- CLTAG xstreet0='
addressEnd = r'-->'
prog = re.compile(addressStart + r'(.*?)' + addressEnd)
result = prog.match(string)
答案 1 :(得分:2)
尝试使用search
代替match
(原因是该行以<
开头,但您定义addressStart
以!
开头。{ {1}}在字符串中的任意位置找到匹配项,而search
仅在开头找到匹配项。或者您可以重新定义match
以包含前导addressStart
。)
<