如果想要匹配这样的html代码
<div class="content">
xxxxxxxxxxx
</div>
取出其中的xxxxx的内容
我是这样做的
#raw_data为读取的html代码
pattern=re.compile(r'<div class="content">(.*?)</div>$')
items=re.findall(pattern,raw_data)
items为空,我想知道匹配的情况错在了那里
如果想要匹配这样的html代码
<div class="content">
xxxxxxxxxxx
</div>
取出其中的xxxxx的内容
我是这样做的
#raw_data为读取的html代码
pattern=re.compile(r'<div class="content">(.*?)</div>$')
items=re.findall(pattern,raw_data)
items为空,我想知道匹配的情况错在了那里
想了想,我还是推荐题主用xpath
去解析HTML
或xml
。
例子 http://outofmemory.cn/code-snippet/11036/python-xpath-minidom-parse-xm...
在爬虫过程中可能还会遇到更加复杂的结构,用xpath
会更加得心应手。
非要用正则的话,可以这样写:
r'<div class="content">\n\s+(\S+)\s+</div>'
注:\s表示匹配空白字符,\S表示匹配非空白字符,而用+表示非贪婪匹配
4 回答2.3k 阅读
2 回答1.3k 阅读✓ 已解决
1 回答966 阅读
1 回答375 阅读
$,把这个去掉