python在百度网页爬取1500张柯基图片并保存在相应文件
时间: 2023-12-29 16:05:49 浏览: 59
python爬取百度图片
以下是Python代码,使用BeautifulSoup和requests库进行网页爬取,使用urllib库进行图片下载:
```python
import requests
from bs4 import BeautifulSoup
import os
import urllib.request
# 创建文件夹
if not os.path.exists('./corgi'):
os.makedirs('./corgi')
url = 'https://image.baidu.com/search/index?tn=baiduimage&ie=utf-8&word=%E6%9F%AF%E5%9F%BA'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299'}
res = requests.get(url, headers=headers)
soup = BeautifulSoup(res.text, 'html.parser')
images = soup.select('img[src^="http"]')
for i, image in enumerate(images):
try:
if i < 1500:
img_url = image['src']
img_name = './corgi/' + str(i + 1) + '.jpg'
urllib.request.urlretrieve(img_url, img_name)
print('第%d张图片下载完成' % (i + 1))
else:
break
except:
print('第%d张图片下载失败' % (i + 1))
continue
```
上述代码中,首先创建一个名为"corgi"的文件夹用于保存下载的图片。然后,使用requests和BeautifulSoup库获取百度图片搜索结果页面的HTML内容,并使用select方法获取所有图片标签。接着,遍历每个图片标签,获取图片的URL和文件名,使用urllib库进行下载。最后,循环执行直到下载1500张图片或遍历完所有图片标签。
阅读全文