关于jokes.json的抓取

来源:5-5 数据库函数

忙碌回复慢

2019-03-24

老师,你好,其实想问两个问题:
1. 如果用requests库抓取数据并且解析到json文件的具体实现,课程里面关于jokes.json的文件数据的抓取?(爬虫弄了好久都弄不好 ,,Ծ^Ծ,,)
2. _(:з」∠)_ 还有一个问题噢,请问能顺带讲一下 wx的Aes对称加密在这个app里面主要有什么具体用途?保证通信安全具体是用户数据加密还是?
蟹蟹老师

写回答

1回答

咚咚呛

2019-03-24

哈哈哈,为这个同学点赞,看到很多除课程内容以外的知识。作为课程内容的拓展,可以简单聊一聊哈,不尽之处,还望见谅。

  1. 关于爬虫,其实爬虫需要攻坚的主要知识点无外乎以下三个。

    1. 请求与登录

      1. 请求库的使用方法,比如是使用requests、httplib、urllib2还是其他请求库的使用方法

      2. 模拟登录,包括模拟登录、防爬虫、IP代理池等等,这里防爬虫的部分挺有意思,就像是攻防博弈,以前做过相关的一些研究

    2. 页面数据解析

      1. 静态页面数据解析,比较简单,使用BeautifulSoup库解析即可,结合XPath、CSS选择器进行内容提取即可

      2. 动态页面(iframe、ajax等),需要研究他们js的数据组织逻辑,或者是使用第三方库去进行操作,有PhantomJS等,或者干脆模拟浏览器去点击页面,使用selenium


    3. 数据过滤

      1. 脏数据:过滤去掉一些不完整的或故意混淆的数据

      2. 重复数据:要注意判重

      3. 大数据量:大量数据的存储和后续的检索问题

回到问题,其实jokes.json这个数据也是老师爬下来的,也是按照这三个步骤,请求阶段使用了requests库;页面数据解析使用了BeautifulSoup库将HTML页面load进然后按标签解析;解析完成以后,构建成Python字典对象,再序列化成文件即可。

同学可以按照这三个知识点逐个击破。

    2. 第二问题,为什么需要加密,毫无疑问加密是为了数据安全,这是微信侧要求的。总的而言就是微信为了保证数据不被第三方拦截或篡改,以此达到保护用户数据的目的。

希望对你有所帮助,同学加油哦。

2
2
忙碌回复慢
- ̗̀(๑ᵔ⌔ᵔ๑) 蟹蟹老师!
2019-03-24
共2条回复

Django+小程序技术打造微信小程序助手

0到1完整项目实战过程,是难得的Django+小程序全栈项目体验。

976 学习 · 506 问题

查看课程