【发布时间】:2019-03-18 23:03:32
【问题描述】:
在python 中,我使用requests 模块和BS4 来通过duckduckgo.com 搜索网络。我手动转到http://duckduckgo.com/html/?q='hello',并使用开发工具获得了第一个结果标题为<a class="result__a" href="http://example.com">。现在我使用以下代码通过 Python 获取 href:
html = requests.get('http://duckduckgo.com/html/?q=hello').content
soup = BeautifulSoup4(html, 'html.parser')
result = soup.find('a', class_='result__a')['href']
但是,href 看起来像乱码,与我手动看到的完全不同。知道为什么会这样吗?
【问题讨论】:
-
您能否也添加您正在接受的“乱码”href?
-
"/l/?kh=-1&uddg=https%3A%2F%2Fwww.example.com"
-
这是真的。您想要的第一个链接是:
<a rel="nofollow" class="result__a" href="http://duckduckgo.com/y.js?u3=https%3A%2F%2Fr.search.yahoo.com%2Fcbclk%2FdWU9MUEwOUNCRUYzMUQzNEUzNSZ1dD0xNTM5NTA4NTEzNTc4JnVvPTc3NDQ2ODg3ODA1MTQ4Jmx0PTImZXM9ZVVTaDk0UUdQUzliS0hRLQ%2D%2D%2FRV%3D2%2FRE%3D1539537313%2FRO%3D10%2FRU%3Dhttps%253a%252f%252fwww.bing.com%252faclick%253fld%253dd3jIjIFx8mbuUuyzqoWL4HCjVUCUygBhbi7LdfVaC2QTd8kHOx2WK7iOznJVD1yYosHtuKcDiEiLLycGb7aeAdWfQoGWfZlYy5Kmdp5MqDhBwtCUqLlzJhfOnxxhPunmY3o76lV5%2DNkjZhMiZWYzub...">Find <b>Hello</b> From on eBay - Seriously, We have EVERYTHING</a> -
我也查过了,好像很奇怪!
-
@shamilpython 这是我朋友的编码网址。
标签: python html web-scraping beautifulsoup python-requests