python - BeautifulSoup:选择器没有提取正确的数据 - Yahoo Scrape
问题描述
我正在尝试从类值包含 compText 的元素中提取文本。问题是它提取了除我想要的文本之外的所有内容。
当我在开发人员工具中使用 CSS 选择器时,它可以正确识别元素。
当输入的查询没有结果时,我正在尝试抓取出现在 Yahoo SERP 中的文本。
- 如果我的查询是(包括引号)“klsf gl glkjgsdn lkgsdg”什么都没有显示期望补充文本“我们没有找到结果blabla”并且选择器正确提取数据
- 如果我的查询是(包括引号)“基于专业。块。有机硅。参考”。雅虎将添加广告,因为关键字“有机硅”会触发第一段中描述的行为。
这是代码:
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 屏幕截图