项目一:爬取大众点评评论
项目描述 :爬取了大众点评点评评论详情、评论地点、评论时间、评论者以及打分和星
级,最后将数据保存到数据库中。
技术描述 :Requests + 正则表达式 + XPath + pymongo + lxml
项目难点 :
1.大众点评的评论是通过css文件进行字体加密的,即每一条评论里有一些字是通
过css进行渲染的。
2.通过分析找到css文件,里面包含的是所有加密字体的坐标和3个加密svg字体文件URL,使用 Requests请求得到这些字体文件,生成映射字典。
3.使用xpath和正则取得想要的数据,调用方法将加密数据进行解密。
4.最后将数据保存的MongoDB数据库中
项目二:爬取猫眼票房
项目描述 :爬取了猫眼票房的每日影片名、综合票房、票房占比、排片占比并存入Excel
表格中。
技术描述 :base64 + 正则表达式 + Requests + fontTools + lxml
项目难点 :
1.猫眼票房下的所有数字都是通过自定义字体进行生成的,并且每次请求得到的都是不同的字体文件,每次字体文件的字体编码和坐标会有差别。
2.通过分析找到字体文件,发现是base64加密,使用Requests请求数据,使用
正则提取字体URL进行下载,使用base64模块解密得到字体文件。
3.使用FontCreator工具解析字体文件,建立基础字体文件映射字典,之后使用
KNN算法思想将每次请求得到的字体文件与基础映射进行比较,差值最小的便是一个字。
4.最后通过lxml模块取出想要的数据,使用xlwt模块将数据保存到Excel中。
项目三:爬取网易云评论
项目描述 :爬取了网易云歌曲的热门评论和最新评论并存入Excel表格中。
技术描述 :Requests + execjs + JSON + xlwt
项目难点 :
1.网站的歌曲评论信息通过JS进行加密。
2.通过开发者工具找到我们想要的参数所在的JS,通过断点调试,逆向整个数据加密过程,取得加密 JS。
3.使用Requests请求得到加密数据,使用execjs执行解密JS,得到解密后的数据。
4.使用JSON转换解密后的数据,使用xlwt模块将数据保存到Excel中。