gpt4 book ai didi

python - 使用 Python 从字符串中提取链接

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

首先我想做的是询问用户一个搜索词。然后程序搜索 yahoo 并打印出第一个结果的链接。这是我到目前为止的代码。

from urllib import urlopen

import re, time
from BeautifulSoup import BeautifulSoup


print "What Would You Like to Search For?"

user_input = raw_input('') #Gets Search Term from User



search = "http://search.yahoo.com/search;_ylt=A2KLtaJX_1BQfT4AwX2bvZx4?p=baker&toggle=1&cop=mss&ei=UTF-8&fr=yfp-t-701"

new_search = search.replace('baker', user_input)
content = urlopen( new_search ).read()

soupcontent = BeautifulSoup(content)


link1 = soupcontent.find(id="link-1")
print link1

一切正常。它接受用户输入并搜索雅虎。我遇到的问题是假设我搜索了“狗”

程序将打印如下内容: "a id="link-1"class="yschttl spt"href="http://www.dog.com/"data-bk="5101.1>b>狗/b> 用品 | b>狗/b> 食物,b>狗/b> 床,b>狗/b> wbr>/wbr>跳蚤控制及更多.../a>"

这确实是页面上的第一个链接。但是我只想打印出“http://www.dog.com/”任何人都可以帮助我吗?

谢谢。

最佳答案

BeautifulSoup 实际上使这变得非常简单:

>>> from bs4 import BeautifulSoup
>>> from urllib2 import urlopen
>>>
>>> url = 'http://search.yahoo.com/search?p=dog'
>>> content = urlopen(url).read()
>>> soup = BeautifulSoup(content)
>>>
>>> soup.find(id="link-1")
<a class="yschttl spt" data-bk="5097.1" href="http://www.dog.com/" id="link-1"><b>Dog</b> Supplies | <b>Dog</b> Food, <b>Dog</b> Beds, <b>Dog</b> <wbr></wbr>Flea Control &amp; More ...</a>
>>> soup.find(id="link-1").get("href")
'http://www.dog.com/'

根据您对 UTF-8 的请求,您可能会看到

 u'http://www.dog.com/'

相反,Unicode 版本也很好。

标准警告:请务必检查 Yahoo! 的最终用户许可证是否允许您执行任何您想做的操作,因为许多许可证排除了某些自动化用途。

关于python - 使用 Python 从字符串中提取链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12397938/

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