爬虫学习总结
前言
Robots协议是什么?
Robot协议是国际互联网通行的道德规范,告诉人们那个可以抓,那个不可以抓,但是没有写入法律。
Robot.txt文件
爬虫的使用步骤
- 获取网页
基础技术:request,urllib,selenium(模拟浏览器)。
进阶技术:多进程多线程抓取,登录抓取,突破IP封禁,服务器抓取。 - 解析数据
基础技术:re正则表达式,Beautiful Soup,lxml。
进阶技术:解决中文乱码。 - 存储数据
基础技术:存入txt文件,存入csv文件。
进阶技术:存入MySQL数据库,存入MongoDB数据库。 - 入狱
基础技术:抓取速度慢,数据量太大,IP被封禁。
进阶技术:越狱。
看上了网页信息,怎么抓?
分析原网站是怎么获取这些数据的?哪个接口?
按 F12 打开控制台,查看网络请求,复制 curl 代码便于查看和执行:
1 | curl "https://api.zsxq.com/v2/hashtags/48844541281228/topics?count=20" ^ |
用程序去调用接口 (java okhttp httpclient / python 都可以)
处理(清洗)一下数据,之后就可以写到数据库里
浏览器插件:FeHelper 前端辅助插件,推荐安装
流程
从 excel 中导入全量用户数据,判重。
easy excel
抓取写了自我介绍的同学信息,提取出用户昵称、用户唯一 id、自我介绍信息
从自我介绍中提取信息,然后写入到数据库中
EasyExcel
两种读对象的方式:
- 确定表头:建立对象,和表头形成映射关系
- 不确定表头:每一行数据映射为 Map<String, Object>
两种读取模式:
- 监听器:先创建监听器、在读取文件时绑定监听器。
单独抽离处理逻辑,代码清晰易于维护;一条一条处理,适用于数据量大的场景。 - 同步读:无需创建监听器,一次性获取完整数据。方便简单,但是数据量大时会有等待时常,也可能内存溢出。
在pom.xml里引入依赖
1 | <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --> |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 微光zc的网络小窝!
评论








