from urllib import parse
import requests
import os
from urllib import request
# result = parse.unquote("https%3A%2F%2Fshp%2Eqpic%2Ecn%2Fishow%2F2735111614%2F1637043312%5F84828260%5F13173%5FsProdImgNo%5F8%2Ejpg%2F200")
# print(result)
url = "https://apps.game.qq.com/cgi-bin/ams/module/ishow/V1.0/query/workList_inc.cgi?activityId=2735&sVerifyCode=ABCD&sDataType=JSON&iListNum=20&totalpage=0&page=0&iOrder=0&iSortNumClose=1&iAMSActivityId=51991&_everyRead=true&iTypeId=2&iFlowId=267733&iActId=2735&iModuleId=2735&_=1637242615737"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
"Referer": "https://pvp.qq.com/"
}
def exact_url(data):
url_list=[]
for i in range(1,9):
url = parse.unquote(data['sProdImgNo_%d'%i]).replace('200','0')
url_list.append(url)
return url_list
def main():
result = requests.get(url,headers=headers).json()
datas = result['List']
for i,data in enumerate(datas):
url_list = exact_url(data)
name=parse.unquote(data["sProdName"])
if name=="六周年庆壁纸":
name=name+("%d"%(i-3))
dirpath=os.path.join("images",name)
os.mkdir(dirpath)
for index,image_url in enumerate(url_list):
request.urlretrieve(image_url,os.path.join(dirpath,"%d.jpg"%(index+1)))
print("%s下载完成!"%image_url)
HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-文盲老顾 2021-11-19 08:41关注
我这边实际测试了下,代码基本没有问题,你自己捕捉下异常,看看哪个url报的404
for index,image_url in enumerate(url_list): try: request.urlretrieve(image_url,os.path.join(dirpath,"%d.jpg"%(index+1))) print("%s下载完成!"%image_url) except: print(name,image_url)
自己加上异常捕捉
网上存在着各种死链(404)、权限受限(403)、代码错误(500)等等情况,你需要自己在采集的时候只处理2xx的内容,其他都当做异常处理
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥170 如图所示配置eNSP
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥15 键盘指令混乱情况下的启动盘系统重装