Python爬取网址百度前100张图片
以下是一种实现方式:
import requests
from bs4 import BeautifulSoup
import re
import os
# 设置关键字和页数
keyword = '猫'
page_num = 1
# 创建保存图片的文件夹
if not os.path.exists(keyword):
os.mkdir(keyword)
# 循环爬取每一页的图片
for i in range(page_num):
# 构造url
url = 'https://www.baidu.com/s?tn=baiduimage&word=' + keyword + '&pn=' + str(i*30)
# 发送请求并解析html
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
# 提取图片链接
img_tags = soup.find_all('img', class_='main_img')
img_urls = [img['src'] for img in img_tags]
# 下载图片并保存
for j, url in enumerate(img_urls):
r = requests.get(url)
with open(keyword+'/'+keyword+'_'+str(i*30+j+1)+'.jpg', 'wb') as f:
f.write(r.content)
该代码使用了requests库发送网络请求,使用BeautifulSoup库解析html,使用正则表达式提取图片链接,然后使用requests库下载图片并保存。需要注意的是,该代码只能爬取百度图片搜索结果的前100张图片,并且需要手动设置关键字和页数。在实际应用中,还需要考虑反爬虫措施和异常处理等问题。
原文地址: https://www.cveoy.top/t/topic/9Zn 著作权归作者所有。请勿转载和采集!