熟练使用python语言
熟练使用requests,selenium模块,scrapy框架
熟练使用xpath,正则表达式提取页面数
熟练使用mysql,了解Redis非关系型数据库
了解fiddler工具和移动端数据抓取
熟悉常见反爬和反反爬措施
【项目一】: 网易新闻爬取 【项目描述】: 爬取目标:网易新闻各板块下文章标题和详情内容爬取并持久化存储 【工具描述】: Scrapy+selenium+xpath 【技术描述】: 1.使用 scrapy 创建工程类,在爬虫文件下对网易新闻首页地址发起请求 2.分析首页为静态加载,使用 xpath 提取各板块链接放入列表,并再次对各板块链接发起请求 3.分析各板块内容为动态加载,使用 selenium 创建浏览器对象,在下载器中间件处对动态加载的响应拦截 并修改,在爬虫文件出对修改后的响应内容使用 xpath 提取文章标题和详情页链接 4.再次对详情页链接发起请求,分析响应内容为静态加载,对文章文本进行提取 5.将提取完的数据提交到项目管道并做 csv 保存 6.在 settings 中做出相应配置
【项目二】: 12306 模拟登录及余票查询 【项目描述】: 爬取目标:模拟登陆 12306 网站获取需求班次的列车时间表和各车厢余票数量并持久化存储 【工具描述】: Selenium+xpath+PIL+在线打码 【技术描述】: 1. 使用 selenium 创建浏览器对象进入到登陆页面 2. 获取当前浏览器页面截图并保存到本地,并获取验证码节点的 location 和 size 3. 使用 PIL 工具根据验证码坐标找到在截图中定位到验证码具体位置并裁剪 4. 使用超级鹰在线打码识别验证码图片获取坐标 5. 使用 selenium 模拟输入账号和密码并根据识别出的坐标点击验证码进行登陆 6. 利用 xpath 对登陆后的页面数据进行提取获取余票信息并保存到 csv 文件
【项目三】: 京东商品信息爬取 【项目描述】: 爬取目标:获取京东商品的名称,价格,链接,买家用户名和评论,好评数差评数等并持久化存储 【工具描述】: Requests+re+redis+mysql+xpath 【技术描述】: 1. 登陆京东商品网站搜索商品分析每页 url 地址规律 2. 分析商品页面为静态加载使用 xpath 提取部分信息和商品链接 3. 进入详情页提取买家评论,分析页面为动态加载,寻找携带有评论的网络数据包发起请求 4. 建立代理 IP 池,避免同一 IP 地址访问过多被封 5. 使用正则表达式对含有 json 格式的字符串进行数据提取 6. 将提取内容持久化存储到 mysql 数据库 7. 利用商品链接生成数据指纹存储到 redis 数据库实现增量爬虫