jupyter notebook爬取百度图片
时间: 2024-12-27 21:14:51 浏览: 3
### 使用 Jupyter Notebook 编写 Python 代码以爬取百度图片
#### 准备工作
为了在 Jupyter Notebook 中编写并运行用于爬取百度图片的脚本,需确保已安装必要的软件和库。环境配置应包括 Windows 10、Python 3.8 和 Jupyter notebook[^2]。
#### 安装依赖库
对于网络爬虫来说,`requests` 和 `BeautifulSoup` 是两个非常重要的库。可以通过 pip 工具来安装这些库,假设 Anaconda 的 Python 版本已被设置到系统的 PATH 环境变量中,则可以使用如下命令进行安装:
```bash
pip install requests beautifulsoup4
```
上述命令会自动下载并安装最新版的 `requests` 及 `beautifulsoup4` 库[^3]。
#### 创建新的 Jupyter Notebook 文件
启动 Jupyter Notebook 后,在目标文件夹下创建一个新的 Notebook 并选择 Python 3 作为解释器版本[^4]。
#### 编写爬虫代码
下面是一个简单的例子,展示了如何利用 `requests` 和 `BeautifulSoup` 来获取百度图片页面的内容,并解析其中的图像链接:
```python
import requests
from bs4 import BeautifulSoup
def fetch_baidu_images(keyword, num=10):
url = f"https://image.baidu.com/search/index?tn=baiduimage&word={keyword}"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
img_tags = soup.find_all('img')[:num]
image_urls = []
for tag in img_tags:
if 'data-src' in tag.attrs and not tag['data-src'].startswith("https"):
continue
elif 'src' in tag.attrs:
image_urls.append(tag['src'])
return image_urls
```
这段代码定义了一个函数 `fetch_baidu_images()` ,该函数接收关键词参数以及想要检索的最大图片数量,默认为10张。此函数构建查询URL并通过 HTTP GET 请求访问百度图片搜索引擎;随后使用 BeautifulSoup 解析返回 HTML 文档中的 `<img>` 标签提取图片 URL 地址列表。
请注意,实际操作过程中可能遇到反爬机制等问题,因此建议合理调整请求频率或采用其他策略规避风险。
阅读全文