Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从div标记中提取文本_Python_Html_Regex_Selenium_Beautifulsoup - Fatal编程技术网

Python 从div标记中提取文本

Python 从div标记中提取文本,python,html,regex,selenium,beautifulsoup,Python,Html,Regex,Selenium,Beautifulsoup,我有一个列表,我正在使用属性从美丽的汤中提取 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位数字,需要从包含随

我有一个列表,我正在使用属性从美丽的汤中提取

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 <br/>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<br/> B00EQ0CKRQ <br/>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>]
有人能帮我用上面提到的模式从div标签中提取内容吗

import re
g_info = '<div id="details_readonly" style="">\n<h2>Lorem Ipsum                                    <small></h2>\n                               Lorem Ipsum text <br/>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<br/> B00EQ0CKRQ <br/>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>]'
print re.search('B00.{7}', g_info).group(0)
更新:使用您的代码:

g_info = soup.find_all("div", {"id":"details_readonly"})
print g_info ## this prints out all the contents of the div tag. 

y = re.search('B00.{7}', ''.join(g_info)).group(0)
print y 

'.join(g_info)
会将列表
g_info
转换为字符串,正则表达式应该可以工作。

尝试执行时出现此错误<代码>打印重新搜索('B00.{7}',g_info).group(0)文件“C:\Python27\lib\re.py”,在搜索返回编译(模式,标志)中的第142行。搜索(字符串)类型错误:预期字符串或缓冲区感谢我在str中键入cast g_info,然后它工作了。Thanks@bojra:你能告诉我你在使用连接函数做什么吗?你可以在答案中找到它。它接受列表中的所有内容并转换为单个字符串。例如,如果您有一个列表
m=[“a”,“b”]
,如果您使用
'.join(m)
,它将输出
ab
B00EQ0CKRQ
g_info = soup.find_all("div", {"id":"details_readonly"})
print g_info ## this prints out all the contents of the div tag. 

y = re.search('B00.{7}', ''.join(g_info)).group(0)
print y