【问题标题】:How to read and map the description of the google search result using python request ?如何使用 python 请求读取和映射谷歌搜索结果的描述?
【发布时间】:2017-05-16 16:06:37
【问题描述】:

我使用 python 请求来查找 google 搜索结果。我能够找到链接和描述,但是如何将链接映射到其各自的描述。

下面是代码及其输出:

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,建筑和采矿设备、柴油和天然气发动机、工业燃气轮机的制造商,并提供广泛的相关服务。

www.catwelfare.org/,家猫(拉丁语:Felis catus)是一种小型的、典型的毛茸茸的肉食哺乳动物。当作为室内宠物饲养时,它们通常被称为家猫或简称为猫

www.catwelfare.org/,一个非营利组织,完全由希望改善新加坡流浪猫福利的志愿者经营。

www.catwelfare.org/,建筑和采矿设备、柴油和天然气发动机、工业燃气轮机的制造商,并提供广泛的相关服务。

等等。

同一个链接映射到谷歌搜索结果的所有描述。

所需的输出是,

https://en.wikipedia.org/wiki/Cat, 家猫(拉丁语:Felis catus)是一种小型的、典型的毛茸茸的肉食性哺乳动物。当作为室内宠物饲养时,它们通常被称为家猫或简称为猫

www.catwelfare.org/,一个非营利组织,完全由希望改善新加坡流浪猫福利的志愿者经营。

www.cat.com/,建筑和采矿设备、柴油和天然气发动机、工业燃气轮机的制造商,并提供广泛的相关服务。

请帮我解决这个问题。

【问题讨论】:

    标签: python google-app-engine google-search


    【解决方案1】:

    你基本上不小心在for link, span in ((l,s) for l in links for s in spans): 行中执行了funcutils.permutations,逻辑上读取为“对于linksspans 中的所有链接组合,请执行以下操作:”。

    您想要的是迭代 任一 链接 跨度,并且无论您选择哪种方式,都可以获取关联的链接/跨度。您可能需要在公共外部 HTML 元素上执行 find() 并对其进行迭代,在每次迭代中获取 linkspan

    【讨论】:

    • 谢谢@jknupp。是的,我有一个基本的想法和你的解释大纲。但我不确定如何实施。你能帮帮我吗?
    • 在不知道HTML页面的结构的情况下,我不能给你确切的代码。不过,鉴于您已经走了多远,答案中的描述可能就足够了。
    • 好的。我会试试 Jknupp
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 2015-04-29
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多