我有一整天都在努力解决的小问题。我认为这很简单,但我想不出答案。我使用用 Python 编写的 scrapy。我需要从一些 div 内容中解析生产者名称。
div的方案是:
<div id=info>...
<html tag, can be p,strong,span,etc>
Producer(sometimes as Supplier): some code
</end tag>...
</div>
我使用下一段代码:
l.add_xpath('producer_name', "//div[@class='info']", re=u'Producer:\s*(.*)\s?</p>')
一切正常,直到我找到写有“供应商”而不是“生产者”或其他结束标记的页面。
所以我尝试了类似的方法:
l.add_xpath('producer_name', "//div[@class='info']", re=u'[Supplier|Producer]:\s*(.*)\s?[</p>|<br>|</span>|</strong>]')
上面的代码不起作用。
请您参考如下方法:
我相信您需要在正则表达式中使用圆括号,而不是方括号,即:
l.add_xpath('producer_name', "//div[@class='info']", re=u'(Supplier|Producer):\s*(.*)\s?(</p>|<br>|</span>|</strong>)')
