一些小爬虫

2018-11-12  本文已影响0人  KingJX

很久没更新简书了, 今天更新一点关于爬虫的东西

spiders

1. 爬取boss直聘上的Python岗位

构造URL, 获取网页上的数据, 解析URL, 获取需要的信息存入字典

2. 爬取蘑菇街网站上所有种类的商品(未去重)

爬取蘑菇街网站上的所有商品比较复杂, 想获取全部的商品, 突破口就是商品的种类.
蘑菇街数据.png

3. 爬取虾米音乐排行榜前100的歌曲(下载)

- 凯撒密码
 通过URL打开虾米音乐的排行榜, 进入开发者模式, 找到歌曲信息的位置.
 网页构成中, 有一个table里面的tr有'data-mp3'属性.
 应该能猜到, 歌曲的数据应该就和这个有关系了, 但是这里面的文字杂乱无章, 很明显不是歌曲的直接URL
 该地址是加密过的, 通过凯撒密码解密,能得到它真正的URL
 获取到歌曲地址的url就能直接解析歌曲了, 然后通过二进制存储该数据, 就能把歌曲下载下来了

4. 破解1KKK漫画的图像旋转点击验证

1kkk验证码.png
 1KKK漫画网站, 登录注册时是通过点击动漫人物头像,使头像转正后完成验证. 每次点击, 图像会顺时针旋转90°.
 但是电脑并不能自己识别图像的正反, 所以涉及到简单的机器学习.
 首先去查看图像验证码的地址, 发现每个头像都是由四个不同方向的小图组成.
 通过对图像地址的URL的反复调用,可以得到新的图像.所以, 循环执行url,尽可能得到验证码图库里面的头像.
 裁剪获得小头像(和验证码中的头像等大), 通过代码去重, 去重的主要目的是为了提高代码的执行效率.
 将所有的头像都转正. 通过selenium 模拟登录, 打开界面后截取,第一张小图, 然后和自己得到的正向头像图库一一对比.
 如果有相同的图片,则说明验证码图片为正向, 不必旋转; 若比较完成后,没有相同的图片,模拟点击该图片一次.
 后面三张验证码道理同上; 若旋转三次后, 验证都为通过, 则有可能是图库中的头像没有获取完全, 此时模拟点击换一组, 重新执行验证
1kkk验证码(正).png
上一篇 下一篇

猜你喜欢

热点阅读