1.熟练使用Python,理解Python设计范式
2.熟悉scrapy, pyspider,requests等爬虫框架及HTTP工具
3.了解常见反爬机制,理解相关网络协议,掌握模拟浏览器,js逆向,APP抓取
4.掌握HTML DOM解析框架,熟练使用正则表达式
5.熟练使用python常用模块,使用过Django/flask等web框架;
6.熟练使用(MySQL/Redis/MongoDB)数据库
7.熟悉常用数据结构和算法
一、利用python3爬虫获取某直播平台数据(详述部分)
1.网站爬取逻辑分析
将分类做为入口,获取每个分类下的游戏列表,爬取分类下每个游戏的url,然后进入具体的游戏页面,拿英雄联盟为例:
在页面可以轻易的获取到以下三个信息:
游戏名称:game_name、开播人数:paly_num、观看热度:watch_num
能获取到游戏名称:game_name,拿不到开播人数:paly_num和观看热度:watch_num。
对于这样的情况,能想到的就是自己做统计,或许搜索框是我们的一个入手点:
通过搜索框,能获取到开播人数paly_num,通过搜索接口查询相比进去游戏直播列表一个一个页面做统计便捷了很多,有了开播人数paly_num,观看热度watch_num的获取也容易:
将每一个直播的热度做一个统计就能得到观看热度。
2.爬虫步骤实现
获取每个分类的URL:
点击顶部的网游竞技,能从浏览器的network中获取到如下url:https://www.douyu.com/directory/index/PCgame?isAjax=1,这就是需要的分类url,其他分类也可以通过这样的做法来查看获取,获取到全部分类的url之后,可以定义一个字典来存放分类
成功获取到直播人数后,开始统计观看热度,首先需要计算该游戏的直播列表分页数量,斗鱼默认的pageSize为120得到游戏列表的分页数之后,遍历每页获取每页中每个直播的热度进行统计。
之后部分不做详述!
三、基于Selenium的12306自动刷票软件
四、基于Scrapy爬取伯乐在线网站存入mysql数据库
五、基于GradientBoosting模型的厦门市房价预测系统