我有一个列表,我正在使用属性从美丽的汤中提取 .
g_info = soup.find_all("div", {"id":"details_readonly"})
print g_info ## this prints out all the contents of the div tag.
y = re.compile(r'B00(.{7})',g_info)
print y
该列表是未经过清理的HTML . 此列表中的某个位置是一个文本,其中的模式始终以B00开头,它是一个10位数字,需要从包含随机文本的div标签中的多个页面中提取 .
g_info有一个列表,其中包含列表的所有html内容 . 此列表与此类似:
[<div id="details_readonly" style="">\n<h2>Lorem Ipsum <small></h2>\n Lorem Ipsum text
Lorem Ipsum text
Lorem Ipsum text Lorem Ipsum text Lorem Ipsum text Lorem Ipsum text Lorem
Ipsum text Lorem Ipsum text Lorem Ipsum text Lorem Ipsum text
No
B00EQ0CKRQ
Lorem Ipsum text Lorem Ipsum text
Lorem Ipsum text Lorem Ipsum text Lorem Ipsum text Lorem Ipsum text Lorem
Ipsum text Lorem Ipsum text Lorem Ipsum text Lorem Ipsum text Lorem Ipsum
text Lorem Ipsum text Lorem Ipsum text Lorem Ipsum text Lorem Ipsum text
</div>]
我'm getting an error when i'我试图使用正则表达式 y=re.compile(r'B00(.{7})',g_info)
在g_info中找到模式:
y = re.compile(r'B00(.{7})',g_info)
File "C:\Python27\lib\re.py", line 190, in compile
return _compile(pattern, flags)
File "C:\Python27\lib\re.py", line 232, in _compile
p = _cache.get(cachekey)
TypeError: unhashable type: 'ResultSet'
有人可以帮助我使用上面提到的模式从div标签中提取内容 .
1 回答
输出:
UPDATE: 使用您的代码:
''.join(g_info)
会将列表g_info
转换为字符串,正则表达式应该可以正常工作 .