获取猫眼电影所有城市信息2

获取猫眼电影所有城市信息2

感谢 https://blog.csdn.net/weixin_39416561 这位老哥的点拨,让我学会新方法来获取隐藏在js里的信息,学习学习。
https://blog.csdn.net/qq_42776455/article/details/86489275 这篇是我自己用selenium暴力入手的,虽然简单。其实是一个比较笨的方法,可以参考下这个:https://ask.csdn.net/questions/725362

分析最重要

当触发的时候看源代码的变化,已经抓包分析,排除Ajax,那很可能是在js里的。
在这里插入图片描述

触发下拉列表,使源代码加载完全。如下图:下拉列表的信息在源代码里找到。
在这里插入图片描述

提取下拉列表的关键词,类名:js-city-name,在控制台搜索。
在这里插入图片描述

定位到 https://s0.meituan.net/bs/?f=myfe/mywww:/common.98f4f69f.js 是由这个js代码传来的。保存本地或者在控制台分析这个js。
在这里插入图片描述

找到关键代码:localStorage.getItem(“cities”)

在控制台测试:
在这里插入图片描述

或者用selenium执行这个函数:

from selenium import webdriver
from lxml import etree
driver = webdriver.PhantomJS()
driver.get('https://maoyan.com/')
city_list = driver.execute_script('return localStorage.getItem("cities")')
print(city_list)

# driver.execute_script('localStorage.getItem("cities")')
# html = driver.page_source
# xpath_parser = etree.HTML(html)
# city_list = xpath_parser.xpath('//div[@class="city-list"]//a[@class="js-city-name"]/text()')

获取到的是json类型的字符串,再用json模块转化之后调用会方便点。

import json
city_json = json.loads(city_list)
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值