Python爬虫实战:使用Requests和BeautifulSoup抓取图片并下载
import requests
from bs4 import BeautifulSoup
import os
def download(url):
res = requests.get(url) #图片是二进制编写的,放在content里面
img_data = res.content
filename = os.path.join('img1', url.split('/')[-1])
if not os.path.exists(filename):
with open(filename, 'wb') as f: #以二进制格式打开文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
f.write(img_data)
def get_html():
for i in range(3, 20): # 获取第2到19页的图片
url = f'http://www.netbian.com/index_{i}.htm'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'}
res = requests.get(url, headers=headers)
res.encoding = 'gbk' #解码
if res.status_code == 200: #判断是不是空。404错的
html = res.text #可以打印html排队是不是乱码
soup = BeautifulSoup(html, 'lxml') #文本文件
all_list = soup.find(class_='list')
all_imgs = all_list.find_all('img')
if not os.path.exists('img1'):
os.makedirs('img1')
for img in all_imgs:
src = img['src']
download(src)
if __name__ == '__main__':
get_html()

原文地址: http://www.cveoy.top/t/topic/fR7u 著作权归作者所有。请勿转载和采集!