小编Red*_*Fox的帖子

DuckDuckGo 结果抓取

我在运行代码时遇到问题,并在 StackOverflow 上找到了完美的解决方案。但是,当我进行必要的更改并运行它时,我没有得到任何输出。

代码:

from bs4 import BeautifulSoup
import urllib.parse
import requests

r = requests.get('https://duckduckgo.com/html/?q=test')
soup = BeautifulSoup(r.text, 'html.parser')
results = soup.find_all('a', attrs={'class':'result__url'}, href=True)

for link in results:
    url = link['href']
    o = urllib.parse.urlparse(url)
    d = urllib.parse.parse_qs(o.query)
    print(d['uddg'][0])
Run Code Online (Sandbox Code Playgroud)

urlparse() 用于路径组件“从中获取查询字符串并将其传递给parse_qs()进一步处理它。然后您可以使用名称提取链接uddg。” 这应该是前几个结果:

http://www.speedtest.net/
https://www.merriam-webster.com/dictionary/test
https://en.wikipedia.org/wiki/Test
https://www.thefreedictionary.com/test
https://www.dictionary.com/browse/test
Run Code Online (Sandbox Code Playgroud)

我没有得到任何输出。输出:

In [14]:
Run Code Online (Sandbox Code Playgroud)

python urllib beautifulsoup python-requests

3
推荐指数
1
解决办法
2111
查看次数

标签 统计

beautifulsoup ×1

python ×1

python-requests ×1

urllib ×1