如何正确编写python程序,爬取百度图片中猫和狗的图片各一百张,并存储至目标文件夹
时间: 2024-06-10 13:05:02 浏览: 71
利用python进行图片爬取
您可以使用Python中的requests模块和beautifulsoup模块来编写程序。以下是可能的示例代码:
```
import requests
from bs4 import BeautifulSoup
import os
import urllib.request
search_terms = ["猫","狗"]
num_images = 100
url = "https://image.baidu.com/search/index?tn=baiduimage&word={0}"
img_dir = os.path.join(os.getcwd(), "images")
if not os.path.exists(img_dir):
os.makedirs(img_dir)
for term in search_terms:
search_url = url.format(term)
response = requests.get(search_url)
html = response.text
soup = BeautifulSoup(html, "html.parser")
img_tags = soup.find_all("img")
count = 0
for img_tag in img_tags:
img_src = img_tag.get("src")
if img_src.startswith("http") and (".jpg" in img_src or ".png" in img_src):
file_extension = img_src.split(".")[-1]
file_path = os.path.join(img_dir, "{0}_{1}.{2}".format(term, count+1, file_extension))
urllib.request.urlretrieve(img_src, file_path)
count += 1
if count >= num_images:
break
print("Images downloaded successfully!")
```
该代码首先定义了要搜索的图片类型和要获取的每个类型图片的数量。然后,它使用requests模块和beautifulsoup模块来获取和解析百度图片搜索结果页面的HTML代码。接下来,代码使用find_all()方法来查找包含图像的img标记,并使用get()方法获取图像的URL。最后,它使用urllib.request.urlretrieve()方法将图片保存到目标文件夹中。这个过程被循环执行,直到达到指定的图片数量为止。
阅读全文