使用requests库写爬虫程序,下载一张图片或者下载百度网站的图标
时间: 2024-10-09 20:01:39 浏览: 36
当你使用Python的`requests`库编写爬虫程序时,首先需要安装这个库,如果你还没有安装,可以使用`pip install requests`命令。下面是一个简单的例子,展示如何下载一张图片或百度网站的图标:
1. **下载图片**:
```python
import requests
# 指定你要下载的图片URL
url = "http://example.com/image.jpg" 或者 "https://www.baidu.com/favicon.ico"
# 发送GET请求
response = requests.get(url)
# 检查请求是否成功 (200表示成功)
if response.status_code == 200:
# 获取图片内容
image_content = response.content
# 写入本地文件,例如保存为'image.jpg'
with open('image.jpg', 'wb') as f:
f.write(image_content)
else:
print("Failed to download the image, status code:", response.status_code)
```
2. **下载百度网站的图标(Favicon)**:
由于百度的Favicon通常是一个相对较小的ico文件,你可以通过获取网页HTML的`<link>`标签找到它,然后发送请求。但是,许多现代网站可能会动态加载Favicons,直接从链接抓取可能不可行。下面是一个简化示例:
```python
from bs4 import BeautifulSoup
def get_favicon(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
favicon_links = [link for link in soup.find_all('link', rel='icon')]
if favicon_links:
favicon_url = favicon_links[0]['href']
return requests.get(favicon_url).content
else:
return None
favicon_data = get_favicon("https://www.baidu.com")
if favicon_data:
with open('baidu_favicon.ico', 'wb') as f:
f.write(favicon_data)
else:
print("Could not find the favicon.")
```
请注意,这只是一个基本的示例,实际爬虫可能需要处理各种异常情况,如网络错误、反爬策略等。
阅读全文