BeautifulSoup:选择器未提取正确的数据

2024-06-16 10:43:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从类值包含compText的元素中提取文本。问题是,除了我想要的文本,它什么都提取出来了

当我在开发工具中使用CSS选择器时,它可以正确地识别元素

当输入的查询没有结果时,我正在尝试清除Yahoo SERP中出现的文本

  1. 如果我的查询是(包括引号)“klsf gl glkjgsdn lkgsdg”,则除了补充文本“We did not find results blabla”和选择器正确提取数据外,不会显示任何内容
  2. 如果我的查询是(包括报价)“基于专业。阻碍。有机硅。“参考”。雅虎将添加广告,因为关键字“有机硅”和触发行为描述在第一段

代码如下:

import requests
from bs4 import BeautifulSoup
url = "http://search.yahoo.com/search?p="
query = '"based specialty chemicals. Blocks. Organosilicone.  Reference"'
r = requests.get(url + query) 
soup = BeautifulSoup(r.text, "html.parser")

for EachPart in soup.select('div[class*="compText"]'):
    print (EachPart.text)

有什么问题吗

泰铢

编辑:提取的文本似乎是“有机硅”一词的定义,我可以在SERP上找到

EDIT2:这是我得到的一段文字:“由‘特种化学品’成员公司创造和生产的产品,其中许多是中小企业,源于原创和不断创新。他们推动了未来的低碳、资源节约型和知识型经济。”还有我使用浏览器时的SERP截图enter image description here


Tags: text文本importurl元素search选择器query