python百度
时间: 2025-05-17 16:46:44 浏览: 8
### Python 调用百度 API 和爬取百度数据
#### 使用 Python 调用百度地图 API 获取地理编码信息
可以通过 `requests` 库发送 HTTP 请求并解析返回的 JSON 数据来实现对百度地图 API 的调用。以下是一个完整的示例代码,展示如何通过输入地址名称获取其经纬度:
```python
import requests
import json
def get_location(address):
api_key = 'cb649a25c1f81c1451adbeca73623251' # 替换为自己的API Key
url = 'http://restapi.amap.com/v3/geocode/geo'
params = {'address': address, 'key': api_key}
response = requests.get(url, params=params)
data = json.loads(response.text)
if data['status'] == '1' and int(data['count']) > 0:
location = data['geocodes'][0]['location']
longitude, latitude = location.split(',')
return f"经度: {longitude}, 纬度: {latitude}"
else:
return "无法找到该地址"
print(get_location('北京市清华大学'))
```
上述代码实现了向高德地图 API 发送请求的功能[^4],虽然这里使用的是高德地图而非百度地图,但两者的调用逻辑相似。
#### 利用 Python 进行百度网页内容爬取
如果目标是从百度搜索引擎页面抓取特定关键词的结果,则可以采用如下方法:
需要注意的是,在实际操作前应查阅目标网站的服务条款,确保遵守相关法律法规以及对方对于爬虫行为的规定。下面给出一个简单的例子用于说明基本原理:
```python
from bs4 import BeautifulSoup
import requests
search_term = 'Python 教程'
url = f'https://www.baidu.com/s?wd={search_term}'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content.decode(), 'html.parser')
results = soup.find_all('div', class_='result c-container ')
for result in results[:5]:
title_tag = result.h3.a
link = title_tag['href']
title = title_tag.string.strip()
snippet = result.find('span', class_='abstract').text.strip() if result.find('span', class_='abstract') else ''
print(f"{title}\n{link}\n{snippet}\n\n")
```
此脚本会打印出搜索词 “Python 教程” 前五个结果的标题、链接及摘要描述[^3]。
#### 注意事项
当尝试构建任何类型的网络爬虫程序时,请始终考虑道德和技术方面的影响。尊重他人的隐私权和其他合法权益是非常重要的。此外,频繁地访问某些站点可能会引起管理员注意甚至被封禁IP地址。
阅读全文
相关推荐











