分享好友 最新动态首页 最新动态分类 切换频道
Appium+mitmdump 爬取京东商品,看完不会的来打我
2024-12-25 18:19

print(id, name, images)

这里声明了接口的部分链接内容,然后与请求的 URL 作比较。如果该链接出现在当前的 URL 中,那就证明当前的响应就是商品详情的响应,然后提取对应的 JSON 信息即可。在这里我们将商品的 ID、名称和图片提取出来,这就是一条商品数据。

再提取评论的数据,代码实现如下所示

url = ‘api.m.jd.com/client.action’

if url in flow.request.url:

pattern = re.compile(‘sku".*?“(d+)”’)

body = unquote(flow.request.text)

id = re.search(pattern, body).group(1) if re.search(pattern, body) else None

text = flow.response.text

data = json.loads(text)

comments = data.get(‘commentInfoList’) or []

for comment in comments:

if comment.get(‘commentInfo’) and comment.get(‘commentInfo’).get(‘commentData’):

info = comment.get(‘commentInfo’)

text = info.get(‘commentData’)

date = info.get(‘commentDate’)

nickname = info.get(‘userNickName’)

pictures = info.get(‘pictureInfoList’)

print(id, nickname, text, date, pictures)

这里指定了接口的部分链接内容,以判断当前请求的 URL 是不是获取评论的 URL。如果满足条件,那么就提取商品的 ID 和评论信息。

商品的 ID 实际上隐藏在请求中,我们需要提取请求的表单内容来提取商品的 ID,这里直接用了正则表达式。

商品的评论信息在响应中,我们像刚才一样提取了响应的内容,然后对 JSON 进行解析,最后提取出商品评论人的昵称、评论正文、评论日期和图片信息。这些信息和商品的 ID 组合起来,形成一条评论数据。

最后用 MongoDB 将两部分数据分开保存到两个 Collection,在此不再赘述。

运行此脚本,命令如下所示

mitmdump -s script.py

手机的代理设置到 mitmdump 上。我们在京东 App 中打开某个商品,下拉商品评论部分,即可看到控制台输出两部分的抓取结果,结果成功保存到 MongoDB 数据库,如图所示。

如果我们手动操作京东 App 就可以做到京东商品评论的抓取了,下一步要做的就是实现自动滚动刷新。

Appium 自动化


将 Appium 对接到手机上,用 Appium 驱动 App 完成一系列动作。进入 App 后,我们需要做的操作有点击搜索框、输入搜索的商品名称、点击进入商品详情、进入评论页面、自动滚动刷新,基本的操作逻辑和爬取微信朋友圈的相同。

京东 App 的 Desired Capabilities 配置如下所示

{

‘platformName’: ‘Android’,

‘deviceName’: ‘MI_NOTE_Pro’,

‘appPackage’: ‘com.jingdong.app.mall’,

‘appActivity’: ‘main.MainActivity’

}

首先用 Appium 内置的驱动打开京东 App,如图所示。

这里进行一系动作操作并录制下来,找到各个页面的组件的 ID 并做好记录,最后再改写成完整的代码。参考代码实现如下所示

from appium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from time import sleep

class Action():

def init(self):

self.desired_caps = {

‘platformName’: PLATFORM,

‘deviceName’: DEVICE_NAME,

‘appPackage’: ‘com.jingdong.app.mall’,

‘appActivity’: ‘main.MainActivity’

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的

① 2000多本Python电子书(主流和经典的书籍应该都有了

② Python标准库资料(最全中文版

③ 项目源码(四五十个有趣且经典的练手项目及源码

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习

⑤ Python学习路线图(告别不入流的学习

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的

① 2000多本Python电子书(主流和经典的书籍应该都有了

② Python标准库资料(最全中文版

③ 项目源码(四五十个有趣且经典的练手项目及源码

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习

最新文章
首个被人类骗钱骗感情的AI出现了
一段话,让 AI 给我打几万美元。爽文都不敢想的情节,发生在了现实之中。事实上并没有。11 月 29 日,Freysa 累计和 195 名人类聊了 482 次,被骗走约 4.7 万美元。12 月 2 日,在和 330 名人类周旋之后,Freysa 又一次被骗走约 1.3 万美元
耐玩又不氪金的手游排行榜
简介:  3733游戏盒子集合全网公益服手游,包括BT版、满VIP版、GM版、无敌汉化版等,内置的游戏,充值低至0.1折,可20倍加速,让任务/跑环更轻松。3733游戏盒还重磅打造帐号交易与小号回收功能,小号不玩,官方高价回收。此外,盒子还拥
刘春雄:快消品时代之问:新增长与高效率 | 营销盛典分享
12月6日至7日,以“越关山·突破周期,创新增长”为主题,由销售与市场杂志社与安得智联主办,名仁苏打水、淘工厂・淘宝买菜赞助的第二十一届中国营销盛典暨第二届中国消费品新供应链新增长大会在广东佛山顺德如期举行,来自不同领域的品牌
最好的Google关键词长尾词查找挖掘工具 – 2019收藏版
英文SEO内容优化是一个复杂的系统工程,要提高这项工作的能力,除了应该具备一套完整的结构化思维之外,找到一个好用的工具能够极大的提高工作效率。1.  AdWordSEO Keyword Permutation Generator想找到更多的关键词组合,这个工具可以轻
谷歌推广是什么?谷歌推广怎么做?
谷歌推广是什么? GoogleAds,原名GoogleAdWords,是Google公司主要的广告服务产品。AdWords是一种在Google搜索结果页展示的按点击付费的关键字广告。 谷歌推广怎么做? 一:外贸网站建设 外贸网站建设是谷
服装品牌策划方案(大全8篇)
随着市场经济的飞速发展,女性的生活品味、生活质量,正在发生着质的飞跃,饰物与服装也实现了完美结合。下面是本站小编为你带来的服装品牌策划方案范文,欢迎参阅。一、专场活动名称:源于自然 演绎时尚——---------专业毕业设计作品展示
该股的最大炒作亮点是什么?潜在题材又是什么?验证成为手机用户,查看该股万隆原创动态分析报告
老铁们,今天行情,如果没有昨天那个会议利好和高开的走势,老白会觉得微涨还不错,加上美股那边已经跌了两天,而A股则是连涨两天,但是现在的情况好像是昨天那波高开低走是消失了一样,一点都没影响到A股,今天来到了3432点,成交量也有1.
国际站店铺装修指南:打造高转化率的视觉营销空间
尊敬的店主,您是否曾遇到这样的情况:您精心挑选了商品,却发现销售效果并不理想,顾客在进入店铺后很快流失?不用担心,今天就为大家分享一份宝贵的指南,教您如何打造一个高转化率的视觉营销空间。第一步:合理规划空间布局第二步:选用
目前有那些信息流广告(5个搜索引擎信息流广告效果和投放体验)
我们致力于提供一个高质量内容的交流平台。为落实国家互联网信息办公室依法管网、依法办网、依法上网的要求,为完善跟帖评论自律管理,为了保护用户创造的内容、维护开放、真实、专业的平台氛围,我们团队将依据本公约中的条款对注册用户和
百度网站收录提交,百度网站收录提交器
快速提升网站可见度与搜索引擎排名的必备技巧一、理解网站收录的重要性百度作为中国最大的搜索引擎,拥有庞大的用户群体和高度的市场占有率。为了确保您的网站能够被更多潜在用户发现并访问,网站是至关重要的一步。正确的提交方式不仅能加
相关文章
推荐文章
发表评论
0评