python爬虫之-斗图啦爬取
利用:requests, re
功能:用户自定义关键词,页码
整体代码
# 请求库
import requests
# 正则
import re
# 让用户输入
img_name = input("请输入表情包关键词(如飞机):")
page_number = input('请输入需要下载的页数:')
# 模拟浏览器
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36"
}
# 设置i= 0后面作为文件名
i = 0
# 构造网址
for img_url in range(0, int(page_number)):
# 因为range减1所以这里加1
img_url += 1
url = 'https://www.doutula.com/search?type=photo&more=1&keyword=' + img_name + '&page=' + str(img_url)
# 请求
response = requests.get(url, headers=headers).text
# 编写正则
img_urls = re.findall('data-original="(.*?)"', response)
# 遍历图片网址
for j in img_urls:
# 设置异常处理
try:
# 请求图片网址
response = requests.get(url=j, headers=headers).content
i += 1
print('正在下载第:' + str(i) + '张')
# 下载图片
with open(r'C:/Users/Admin/Desktop/斗图啦/' + str(i) + '.jpg', 'wb')as f:
f.write(response)
print('下载完成...')
print('------------------------')
# 遇到异常输出以下文字,并继续执行程序
except Exception as err:
print('*************************')
print('****该图片为动态图已跳过****')
print('*************************')