gpt4 book ai didi

python - 在 Google 搜索中使用 python mechanize 时遇到的问题

转载 作者:行者123 更新时间:2023-12-01 05:56:26 24 4
gpt4 key购买 nike

我最近发现了 python 库 mechanize,我想用它来从 Google 搜索中获取链接,但无法理解输出。这是我的代码片段:

import mechanize, cookielib
br = mechanize.Browser()
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
br.set_handle_robots(False)
url = 'https://www.google.com/search?num=10&hl=en&site=&q=dog&oq=dog&aq=f&aqi=g10&aql=1&gs_sm=e'

response = br.open(url)

links = [link for link in br.links()]

运行正确,但输出如下所示:

[
Link(base_url='https://www.google.com/search?num=10&hl=en&site=&q=dog&oq=dog&aq=f&aqi=g10&aql=1&gs_sm=e', url='/support/websearch/bin/answer.py?answer=186645&form=bb&hl=en', text='Learn more', tag='a', attrs=[('href', '/support/websearch/bin/answer.py?answer=186645&form=bb&hl=en')]),
Link(base_url='https://www.google.com/search?num=10&hl=en&site=&q=dog&oq=dog&aq=f&aqi=g10&aql=1&gs_sm=e', url='http://www.google.com/intl/en/options/', text='More', tag='a', attrs=[('class', 'gbgt'), ('id', 'gbztm'), ('href', 'http://www.google.com/intl/en/options/'), ('onclick', 'gbar.tg(event,this)'), ('aria-haspopup', 'true'), ('aria-owns', 'gbd')]),
Link(base_url='https://www.google.com/search?num=10&hl=en&site=&q=dog&oq=dog&aq=f&aqi=g10&aql=1&gs_sm=e', url='/webhp?hl=en&tab=ww', text='', tag='a', attrs=[('href', '/webhp?hl=en&tab=ww'), ('onclick', 'gbar.logger.il(39)'), ('title', 'Go to Google Home')]),
...,
]

如何获取实际的 URL,而不是这种“点击我”样式的响应?

谢谢!

最佳答案

您要拉入页面上的每个链接,您需要将其过滤为仅相关的搜索结果链接。我认为这会做你想要的:

links = [link for link in br.links() if any(attr==('class','l') for attr in link.attrs)]

主要搜索结果链接似乎都具有 class=l 作为属性。我对 mechanize 不太熟悉,不知道是否可以在 links() 调用中执行此操作。

关于python - 在 Google 搜索中使用 python mechanize 时遇到的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12376762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com