import requests
import json
import urllib.request
import urllib.parse
url = 'https://api.m.jd.com/api?appid=o2_channels&functionId=pcMiaoShaAreaList&client=pc&clientVersion=1.0.0&callback=pcMiaoShaAreaList&jsonp=pcMiaoShaAreaList&body=%7B%7D&_=1647310274535'
header = {
'accept': '*/*',
# 'accept-encoding': 'gzip, deflate, br'
'accept-language': 'zh-CN,zh;q=0.9',
'cookie': 'unpl=JF8EAJVnNSttCkoHAxwFGhsZTw5SWw9YTEdQaDdVVw9RHlYCGVcSQRN7XlVdXhRKFR9vYxRVVVNPVQ4YBSsSEXteU11bD00VB2xXVgQFDQ8WUUtBSUt-SF1UXVoATRYAZm8NZG1bS2QFGjITFxVNWFxXXDh7EDNfVwFTVFlLUzUaMhoiUh8BUFpaDUgeTmdiAFJYUEJVNRoyGA; __jdv=76161171|baidu-search|t_262767352_baidusearch|cpc|211269702899_0_c0b7660885b74ca6ab6aa2c8d363d8b2|1647309025274; __jdu=94474980; areaId=6; ipLoc-djd=6-350-0-0; PCSYCityID=CN_0_0_0; shshshfp=9eb171c1b130ceb910fb5f8ec3161a72; shshshfpa=88f4e096-733b-aefa-8379-a10b8d429ff6-1647309026; shshshsID=229162e013f5907bd72edcb411fe6542_1_1647309026688; shshshfpb=ue_hceA6SOVixr7zQx0OWpw; __jda=122270672.94474980.1647309024.1647309024.1647309025.1; __jdb=122270672.2.94474980|1.1647309025; __jdc=122270672; 3AB9D23F7A4B3C9B=67GHRGUA5DVD2H3UDVAMIGNR2ZLAOTDLDAWSMAXCVHU22ZXRVLQBIM6SIAXABWODS2MYOUDKTGZQGYTEAQFGBTPWAY',
'referer': 'https://miaosha.jd.com/',
'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': "Windows",
'sec-fetch-dest': 'script',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-site',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36'
}
response = requests.get(url,headers=header)
text = response.text.split('(',1)[1]
# with open('jingdong.json','w',encoding='utf-8')as fp:
# fp.write(text)
text0 = json.load(open('jingdong.json','r',encoding='utf-8'))
for show in text0['miaoShaList']:
name = show['shortWname']
name = name.replace(r'*','X').replace(r'/','每').replace(r'|','')
imgurl ='https:' + urllib.parse.unquote(show['imageurl'])
print(name,imgurl)
r = requests.get(url = imgurl)
try:
with open(file='./showimg/'+name+'.jpg',mode='wb')as fp:
fp.write(r.content)
except:
print('....')
# urllib.request.urlretrieve(url=imgurl,filename='./showimg/'+name+'.jpg')
简单爬取京东首页的秒杀商品
于 2022-03-30 16:11:16 首次发布