Python怎么爬取当当网APP数据


本篇文章给大家分享的是有关Python怎么爬取当当网APP数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。场景:有时候通过传统的方法去爬一些 Web 网页或者 APP,受限于对方的反爬方案,很难爬到想要的数据,这个时候可以考虑使用「Appium」结合「mitmproxy」的方式去爬取数据。其中,Appium 负责驱动 App 端自动化运行,mitmproxy 负责截取请求数据并解析保存到数据库。今天的目的是爬取「当当网」的所有数据,并保存到 MongoDB 数据库当中。首先,需要在 PC 上安装好 Charles 和 Appium Desktop,并配置好 mitmproxy 环境。另外,需要准备一台 Android 手机,另外 PC 端配置好 A 香港云主机ndroid 开发环境。1.在配置好手动代理的情况下,打开 Charles 实时捕获客户端的发起的网络请求。打开当当网搜索商品的页面,搜索关键字「Python」,可以在 Charles 查看到当前请求的 URL 地址包含:「word=Python」编写 mitmproxy 的执行脚本文件,重写 response() 函数,通过对请求的 URL 进行过滤,对有用的数据进行整理并保存到 MongoDB 数据库当中。先打开客户端的手动代理监听 8080 端口,然后执行「mitmdump」命令,然后滚动商品界面,发现数据到写入到数据库中了。2.下面我们要利用 Appium 帮我们实现自动化。首先打开 Appium Desktop,并启动服务。获取到包名和初始 Activity 后,就可以利用 WebDriver 去模拟打开当当网 APP。接着使用 Android SDK 自带的工具uiautomatorviewer获取到元素信息,使用 Appium 中的 WebDriver 去操作 UI 元素。第一次打开应用的时候,可能会出现红包雨对话框、新人专享红包对话框、切换城市对话框,这里需要通过元素 ID 获取到关闭按钮,执行点击操作来关闭这些对话框。这里创建一个新的线程来单独处理这些对话框。接下来就是点击搜索按钮,然后输入内容,执行点击搜索对话框。待第一页的数据加载完全之后,可以一直向上滚动页面,直到数据全部被加载完全,数据会由 mitmproxy 自动保存到 MongoDB 数据库当中。首先使用 mitmdump 开启请求监听的服务,然后执行爬取脚本。App 会自动打开,执行一系列操作后,到达商品界面,然后自动滑动界面,通过 mitmproxy 自动把有用的数据保存到 MongoDB 数据库中。以上就是Python怎么爬取当当网APP数据,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注开发云行业资讯频道。

相关推荐: centos5.8升级gcc g++

cd /etc/yum.repos.dwget http://people.centos.org/tru/devtools-2/devtools-2.repoyum install devtoolset-2-gcc devtoolset-2-binutils …

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/14 09:59
下一篇 08/14 10:22

相关推荐