使用python-scrapy+selenium爬取LOL峡谷之巅段位排行数据

这是我之前学习scrapy框架时,随便练习使用selenium爬取动态加载的内容的时候,写的练习Demo,爬取的是英雄联盟峡谷之巅的段位排行榜 ,有兴趣的朋友可以学习了解一下。

selenium:这个包可以模拟浏览器访问,然后把js或者ajax加载的内容渲染完成之后,再返回给python做解析,有有兴趣的可以看下官方文档

数据表结构:

CREATE TABLE `test_db`.`rank` (
  `id` INT(11) NOT NULL AUTO_INCREMENT ,
  `rank` INT(11) NOT NULL COMMENT '排行' ,
  `cover` VARCHAR(255) NOT NULL COMMENT '头像' ,
  `name` VARCHAR(255) NOT NULL COMMENT '召唤师名称' ,
  `rank_level` VARCHAR(100) NOT NULL COMMENT '段位等级' ,
  `rank_source` INT(11) NOT NULL COMMENT '胜点' ,
  `win_num` VARCHAR(50) NOT NULL COMMENT '胜' ,
  `loser_num` VARCHAR(50) NOT NULL COMMENT '负' ,
  `win_rate` VARCHAR(50) NOT NULL COMMENT '胜率' ,
  PRIMARY KEY (`id`)
) ENGINE = MyISAM COMMENT = '峡谷之巅排行';

运行前请先修改ranking.py里的Chromedriver.exe的路径,根目录下有,如果和你电脑谷歌版本对不上,请重新安装。(安装教程

运行前先在pipelines.py管道文件里配置好数据库连接配置。

控制台输入命令开始爬取:scrapy crawl ranking

如果运行出现:ModuleNotFoundError: No module named '包名',这个错误很简单,缺什么包装什么包就行了,不过有的包名不一样,pycharm开发工具里面搜包名,_要替换成-才搜索的到。

安装python包:

# 升级pip工具
python3 -m pip install -U pip

# 安装python包
pip install 包名

# 查看包列表
pip list 或 python -m pip list
如果安装慢,或者安装超时,将pip源更换到国内镜像

阿里云 http://mirrors.aliyun.com/pypi/simple/
豆瓣 http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学 http://pypi.hustunique.com/

临时使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名

永久修改,一劳永逸:
(a)Linux下,修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)
内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn	

当前网页排行:

爬虫运行中:

运行后数据库里:

让我们来搜一下C皇当前排名。

啊哦,看来还没有爬到C皇那一页。

Demo下载:

1 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论