(初学)requests批量爬取搜狗图片

本教程介绍如何利用requests库批量下载搜狗图片。首先定义获取HTML文本的函数,然后通过正则表达式解析出图片链接。主函数中输入图片关键词,获取HTML,解析并保存图片到指定文件夹。程序会检查图片是否存在,已下载的图片不会重复下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import requests
import re
import os

def getHTMLtext(url):
	headers = {'user-agent':'Mozilla/5.0'}
	try:
		r = requests.get(url, timeout=30, headers=headers)
		r.raise_for_status()
		r.encoding = r.apparent_encoding
		return r.text
	except:
		print("cannot scrapy the url")
		return ""

#解析html文本,筛选出连接
def HTMLparse(link, html):
	try:
		plt = re.findall(r'"thumbUrl":"http://(.*?)"', html)
		for i in range(len(plt)):
			plt[i] = re.sub(r"thumbUrl", "", plt[i])
			plt[i] = re.sub(r":", "", plt[i])
			plt[i] = re.sub(r'"', "", plt[i])
			if plt[i][-1]=='g' and plt[i][-2]=='p' and plt[i][-3]=='j':
				link.append(r"http://"+plt[i])
	except:
		print("error")

def main():
	source = input("请输入要查找的图片:")
	link = []
	try:
		url = "http://pic.sogou.com/pics?pid=sogou-site-3b24156ad560a696&query=" + source
		html = getHTMLtext(url)
		HTMLparse(link, html)
	except:
		print("error2")
	root = "E://爬虫//requests项目//source//"
	headers = {'user-agent':'Mozilla/5.0'}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值