本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
如果大家想要完成爬虫程序,先安装和导入几个包
安装包
os python语言自带的一个工具库
ssl工具包 https协议的网站是基于ssl加密从而传输数据的一种网站
爬取堆糖网图片
https://www.duitang.com/
导入工具
import ssl
import os
# 下载包
import urllib.request
# 网络包
import requests
# 网页选择器
from bs4 import BeautifulSoup
请求头
headers = {
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'
}
默认请求https网站不需要证书认证
ssl._create_default_https_context = ssl._create_unverified_context
爬虫流程
def get_images(url):
images_html = requests.get(url, headers=headers).text
# print(images_html)
soup = BeautifulSoup(images_html, 'lxml')
images_list = soup.find_all('div', class_='mbpho')
# print(images_list)
for image in images_list:
image_data = image.find('a', class_='a')
image_url = image_data.find('img')['src']
# 获取图片名称 下载图片时需要给图片文件一个文件名
image_id = image_data.find('img')['data-rootid']
# print(image_url, image_id)
print(os.path.splitext(image_url)[-1])
try:
urllib.request.urlretrieve(image_url, './古风头像/' + image_id + os.path.splitext(image_url)[-1])
print('下载成功...')
except:
pass
url = 'https://www.duitang.com/search/?kw=%E5%8F%A4%E9%A3%8E%E5%A4%B4%E5%83%8F&type=feed'
get_images(url)