用爬虫抓取腾讯课堂分销的公开数据,验证分销是否可行。
目标网址为:https://ke.qq.com/sale.html
一、系统环境
win7
Python 3.8(64bit)
scrapy 2.0.1
二、思路分析
提取字段:课程名称、所属分类、课程价格、提成比例、成功分销
难点:分页为动态加载,常规方法拿不到数据
技术上的主要实现思路:用scrapy爬虫框架,使用selenium模拟人类操作浏览器,便于规避网页中的动态加载问题。
三、实现步骤
3.1 创建项目
1、在cmd命令中输入:cd desktop 先将文件切换至桌面
2、在cmd命令中输入:scrapy startproject tengxun,在桌面生成了一个名称为“tengxun”的文件。
3、在cmd命令中输入:cd tengxun,将文件切换至tengxun文件夹
4、在cmd中输入:scrapy genspider -t crawl tengxun_spider ke.qq.com,用crawl方法可以使用正则匹配对应网址(这次应该用不到)
3.2编写代码
1、用pycharm打开文件,结构如图:
2、在tengxun_spider编写主要代码:
在爬取过程中发现有时点击下一页会报错,最后换了一种写法,恢复正常,测试爬取100页无问题。
3.3其他配置
1、在setting中将其配置为False,原本为True
2、配置useragent防止被封
在此处配置useragent,查看下本机的useragent:
配置完之后的样子:
3、去item里面,定义下字段:
4、为了避免每次都去cmd中执行,新建一个Python程序,这样可在pychram中执行。
到这里,就可以看结果了,目前只爬了3页数据,先测试一下,大家到时可根据自己需要进行修改。打印结果如下:
四、数据入库
将数据放进数据库中:
1、在mysql中新建表,命名为“tengxun”
2、在pipline中进行配置
3、在setting中进行配置:
4、运行程序后,数据成功入库: