我使用python请求来查找谷歌搜索结果。我能够找到链接和描述,但是如何将链接与其各自的描述进行映射。
以下是代码及其输出:
req=urllib2.Request('http://www.google.com/search?hl=en&safe=off&q='+'cat')
sock=urllib2.urlopen(req)
data = sock.read()
soup = BeautifulSoup(data, 'lxml')
if(soup):
links = soup.findAll('cite')
spans = soup.find_all("span", {"class": "st"})
for link, span in ((l,s) for l in links for s in spans):
print link.text, span.get_text()
输出:
https://en.wikipedia.org/wiki/Cat,家猫(拉丁文:Felis catus)是一种小型的,通常是毛茸茸的食肉哺乳动物。当它们被当作室内宠物或只是猫时,它们通常被称为家猫
https://en.wikipedia.org/wiki/Cat,一个非盈利组织,完全由想要改善新加坡流浪猫福利的志愿者经营。
https://en.wikipedia.org/wiki/Cat,建筑和采矿设备,柴油和天然气发动机,工业燃气轮机以及各种相关服务的制造商。
家猫(拉丁文:Felis catus)是一种小型的,通常是毛茸茸的肉食性哺乳动物。当它们被当作室内宠物或只是猫时,它们通常被称为家猫www.catwelfare.org/,一个非盈利组织,完全由想要改善新加坡流浪猫福利的志愿者经营。
www.catwelfare.org/,建筑和采矿设备,柴油和天然气发动机,工业燃气轮机以及各种相关服务的制造商。
等。
相同的链接与Google搜索结果的所有描述一起映射。
所需的输出是
https://en.wikipedia.org/wiki/Cat,家猫(拉丁文:Felis catus)是一种小型的,通常是毛茸茸的食肉哺乳动物。当它们被当作室内宠物或只是猫时,它们通常被称为家猫
www.catwelfare.org/,一个非盈利组织,完全由想要改善新加坡流浪猫福利的志愿者经营。
www.cat.com/,建筑和采矿设备制造商,柴油和天然气发动机,工业燃气轮机以及各种相关服务。
请帮我解决这个问题。
答案 0 :(得分:0)
您基本上不小心在FirefoxProfile ffprofile = new FirefoxProfile();
ffprofile.setPreference("dom.webnotifications.enabled", false);
WebDriver driver = new FirefoxDriver(ffprofile);
行中funcutils.permutations
意外地对for link, span in ((l,s) for l in links for s in spans):
中的所有链接组合和links
中的所有链接组合进行了#{1}} ,执行以下操作:"。
你想要的是迭代 链接或跨度,无论你选择哪个,都可以得到相关的链接/跨度。您可能需要在公共外部HTML元素上执行spans
并对其进行迭代,在每次迭代中抓取find()
和link
。