爬虫基础小知识:如何提取字典的键?

在爬取JSON文件过程中,经常遇到字典,而我们需要爬取的关键信息就隐藏在字典里面。

如何高效地、准确无误地把字典中的关键信息给提取出来?

个人感觉,由于字典是没有索引的,不能像列表一样根据索引号一个个展现。

如果不知道字典的键,是无法将字典的值给提取出来的。

下面这个方法挺有用的:

payload = {"contentType":"json",
               "head":{"cid":"09031046415366971248","ctok":"","cver":"1.0","lang":"01","sid":"8888","syscode":"09","auth":"","extension":[]},
               "client":{"version":"","channel":114,"locale":"zh-CN","currency":"CNY","source":"NVacationSearchV2","cid":"1697761180669.44uqrm","location":{"lat":"","lon":"","cityId":299,"cityType":3,"locatedCityId":0},"extras":{}},
               "marketingInfo":{"allianceId":1315,"sid":1535},
               "destination":{"poid":0,"type":"","keyword":"惠州"},
               "filtered":{"tab":"126","preItems":[],"items":[],"minPrice":0,"maxPrice":0,"beginDate":"","endDate":"","sort":8,"pageIndex":'1',"pageSize":30,"extras":{}},
               "searchOption":{"returnMode":"all","filters":["ProductNewLine,ProductLine,PLAY_LINE_EX,HotDestination,HotScenicSpot,SaleDepartureStat,TravelDays,DepartureDate,ProductPattern,ProductLevel,ADSuitPersons,ADServiceCharacteristic,ADIsDirectFlight,ADHotelCharacteristic,ADNLineCharacteristic,ProductDistrict,ProviderBrand,PriceRange,ADServiceGarantee,PRESALE_STATUS"],"needAdProduct":False,"needUpStream":False,"needRiskPolicyInfo":True},
               "imageOption":{"width":420,"height":420,"autoCrop":True},"productOption":{"needBasicInfo":True,"needPrice":True,"needVendor":True,"needComment":True,"needOrder":True,"needRanking":True,"tagOption":["PRODUCT_TAG","RECOMMEND_TAG","FESTIVAL_TAG","SCHEDULE_TAG","PROMOTION_TAG","BARGAIN_TAG","FAVORITE_TAG"]},
               "productKeys":[],
               "requestSource":"tour",
               "debug":False,
               "extras":{"USE_OLD_RISK":"True","USE_OLD_FILTER":"true","USE_NEW_LEVEL":"true","USE_NEW_PRICE":"true","needUserDiscountPrice":"true","FILTERED_SCOPE":"custom","NEED_DEPARTURE_TAB_REDIRECT":"true","NEED_PRE_SALE_FILTER":"true","DEFAULT_NATIVE_REQUEST":"true","TAB_SCENE_CODE":"pc_online"}
               }
keys_payload = payload.keys()
for key in keys_payload:
    print(key)
print(len(keys_payload))

终端输出结果为:

这样,我们就可以很方便地知道爬取回来的字典包含有哪些键了。

如果键所包含的值,仍然是字典,可以再用一次上述方法查看内容,直到最终找到自己想要的关键信息为止!这对于小白分析复杂的JSON文件有很大的帮助,希望对你有用。

好了,爬虫小知识就分享到此了~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要学习python爬虫基础知识,首先需要掌握python3的语法,因为这是打好基础的前提。Python3的语法非常简洁,相对来说学习起来应该不会太困难。 形象地理解,爬虫就像一只机器蜘蛛,它模拟人的行为去各个网站上抓取数据或返回数据。爬虫的基本操作包括发送HTTP请求获取网页内容,解析网页内容,提取数据,并进行存储或其他操作。 了解爬虫的分类也是基础知识之一。根据目标网站的不同,爬虫可以分为通用爬虫和聚焦爬虫。通用爬虫是能够抓取互联网上所有网站的数据,而聚焦爬虫则针对特定的网站或者特定的数据进行抓取。 如果你想深入学习python爬虫,我推荐你查看CSDN上分享的一份Python全套学习资料,其中包括学习路线、软件、源码、视频、面试题等等。这份资料是由一位经验丰富的作者整理的,希望可以对正在学习或者想要学习Python的朋友有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python爬虫入门教程(非常详细)](https://blog.csdn.net/2201_75362610/article/details/131282069)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值