当前位置: 技术文章>> Python爬虫入门与实战开发-iOS系统的配置和使用

文章标题:Python爬虫入门与实战开发-iOS系统的配置和使用
  • 文章分类: 后端
  • 10386 阅读

对于苹果设备,首先要保证计算机和苹果设备联在同一个Wi-Fi上。选择Charles菜单栏中的“Help”-“Local IP Address”命令,此时弹出一个对话框,显示当前计算机的内网IP地址,如图9-24所示。

接下来设置手机。进入系统设置,选择“无线局域网”,然后单击已经连接的这个Wi-Fi热点右侧的圆圈包围的字母i的图标,如图9-25所示。

选择“HTTP代理”下面的“手动”选项卡,在“服务器”处输入计算机的IP地址,在“端口”处输入8888,如图9-26所示。

输入完成代理以后按下苹果设备的Home键,设置就会自动保存。注意,计算机上立刻就会弹出一个对话框,询问是否允许一台设备通过计算机代理上网,如图9-27所示。

单击“Allow”按钮,允许以后,只能使用iOS系统自带的Safari浏览器访问https://chls.pro/ssl。 此时会弹出一个对话框,询问是否显示配置描述文件,如图9-28所示,单击“允许”按钮,打开图9-29所示的界面。

单击右上角的“安装”按钮,弹出另一个对话框,显示描述文件信息,如图9-30所示。

单击“安装”按钮并输入屏锁密码,进行安装即可。

安装完成证书以后,在设置中打开“关于本机”,找到最下面的“证书信任设置”,并在里面启动对Charles证书的完全信任,如图9-31所示。

这样,一个证书就在iOS设备上安装好了。安装好证书以后,打开iOS设备上的任何一个App,可以看到Charles中有数据包在流动,如图9-32所示。

图9-32中,这个数据包对应的是iOS设备上面的“掘金”App这个技术类App查询文章的请求,界面如图9-33所示。

在Charles中,在这个数据包的“Contents”选项卡下面的请求的“Raw”选项卡中可以看到这个请求的如下相关信息:

    GET    /v1/get_entry_by_timeline? before=&category=57be7c18128fe1005fa902de&limit=20&src=ios&type= HTTP/1.1    Host: timeline-merger-ms.juejin.im      Accept: */*      Cookie:    QINGCLOUDELB=47f7a729e0fcb7fdf0b3143c89790b65ab7e48fb3972913efd95d72fe838c4fb|W0Nyw|W0Nyw      User-Agent: Xitu/5.3.0 (iPad; iOS 11.4; Scale/2.00)      Accept-Language: zh-Hans-CN; q=1      Accept-Encoding: br, gzip, deflate    Connection: keep-alive

说明:这是一个GET方式的请求,从第3行开始是请求的头。在Python中可以模拟这个请求,如图9-34所示。

通过以上内容可知,要抓取文章信息,根本不需要先在计算机网页上打开掘金网站,再写XPath。在Charles的帮助下开发一个App后台的爬虫,就像开发一个异步加载的爬虫一样简单,而且结果直接就是JSON,转换成字典以后直接就能存到MongoDB里面,极其方便。


推荐文章