鱼C论坛

 找回密码
 立即注册
查看: 1095|回复: 2

京东秒杀爬取失败

[复制链接]
发表于 2021-3-23 19:13:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为什么爬取会报出这个错误,请大佬指出错误
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
  1. # -*- coding:utf-8 -*-
  2. import requests
  3. from urllib.parse import urlencode
  4. from pyquery import PyQuery as pq

  5. headers = {
  6. 'authority': 'api.m.jd.com',
  7. 'method': 'GET',
  8. 'path': '/api?appid=o2_channels&functionId=pcMiaoShaAreaList&client=pc&clientVersion=1.0.0&callback=pcMiaoShaAreaList&jsonp=pcMiaoShaAreaList&body=%7B%7D&_=1616493634850',
  9. 'scheme': 'https',
  10. 'accept': '*/*',
  11. 'accept-encoding': 'gzip, deflate, br',
  12. 'accept-language': 'zh-CN,zh;q=0.9',
  13. 'cache-control': 'no-cache',
  14. 'cookie': 'TrackID=1xqFc2zG8fzZ1DgwKjzbAIXwVgdxq8FbvVKVqpOKGunmnVJEYBI433iK3erNEOqqlcmLqavJbDvZr2JNhepHCNAGITbTvWpllfIw-nwF9K75IiMD_x_iqu26W6K8iLUQP; pinId=iJEuA68AAzuroBl9QC0OE7V9-x-f3wj7; unpl=V2_ZzNtbUFRSh1xD0YDLBFbDWJQR18SVBZHcgEUUCkaDFZhAREOclRCFnUUR1dnGlwUZAAZXEVcQhVFCEdkexhdBGYBEVhAVXMlRQtGZHopXAJnARpdRVVEFnAAQFR9HFoEZgMRXEVncxV9DHZUehhdBWEAFVpDVkIlPFQEDT9FDDViAxNeQlVDE3Y4R2R6KQprZwITXENWRhZxAAtUfBleDWcEEFpBUksTdQ5DUnoYXAZmBCJcclQ%3d; shshshfpb=iwzn640W8VGfTaBwT9diXwA%3D%3D; shshshfp=e61376a46a79972cf4294c5e3f30b834; shshshfpa=be283d73-f7de-8663-87fe-95e9027adae4-1609231016; __jdu=16139163624971747001206; __jda=122270672.16139163624971747001206.1613916362.1613916364.1616492719.2; __jdv=122270672|direct|-|none|-|1616492718785; __jdc=122270672; areaId=7; ipLoc-djd=7-412-46823-0; __jdb=122270672.4.16139163624971747001206|2.1616492719; 3AB9D23F7A4B3C9B=H4M7Z6JQXGHM7T6JJFVYTEZQOMQZPPJTAVQWEY7SLGMC3KRLRYSYY6WIMADV2ZHF63PG567ARBKBDFCG7QMLOLVU2I',
  15. 'pragma': 'no-cache',
  16. 'referer': 'https://miaosha.jd.com/',
  17. 'sec-ch-ua': '"Google Chrome";v="89", "Chromium";v="89", ";Not A Brand";v="99"',
  18. 'sec-ch-ua-mobile': '?0',
  19. 'sec-fetch-dest': 'script',
  20. 'sec-fetch-mode': 'no-cors',
  21. 'sec-fetch-site': 'same-site',
  22. 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'
  23. }
  24. base_url = 'https://api.m.jd.com/api?'

  25. def get_page():
  26.     parmes = {
  27.         'appid': 'o2_channels',
  28.         'functionId': 'pcMiaoShaAreaList',
  29.         'client': 'pc',
  30.         'clientVersion': '1.0.0',
  31.         'callback': 'pcMiaoShaAreaList',
  32.         'jsonp': 'pcMiaoShaAreaList',
  33.         'body': '{}',
  34.         '_': '1616493634850'
  35.     }
  36.     url = base_url + urlencode(parmes)
  37.     try:
  38.         response = requests.get(url=url,headers=headers)
  39.         if response.status_code == 200:
  40.             return response.json()
  41.     except requests.ConnectionError as e:
  42.         print('错误',e.args)
  43. def parse_page(json):
  44.     if json:
  45.         items = json.get('pcMiaoShaAreaList')
  46.         for item in items:
  47.             item = item.get('miaoShaList')
  48.             miaosha = {}
  49.             miaosha['名字'] = pq(item.get('shortWname')).text()
  50.             miaosha['秒杀时间'] = item.get('startTimeShow')
  51.             miaosha['折扣'] = item.get('rate')
  52.             miaosha['秒杀后价格'] = item.get('miaoShaPrice')
  53.             miaosha['秒杀前价格'] = item.get('jdPrice')
  54.             yield miaosha
  55. if __name__ == '__main__':
  56.     json = get_page()
  57.     results = parse_page(json)
  58.     for i in results:
  59.         print(i)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-27 17:28:05 | 显示全部楼层
print(response.text)看一下就知道了,返回的不是直接的json数据。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-2 16:27:21 | 显示全部楼层
suchocolate 发表于 2021-3-27 17:28
print(response.text)看一下就知道了,返回的不是直接的json数据。

那这种怎么办呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-13 05:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表