了解Python开始学习Python的基本语法,观看相关爬虫视频了解到爬取网页信息的简单措施
开始着手分析头条收藏夹页面。
地址中有三个变量参数as,cpmax_repin_time,ascp在页面内可以找到源碼,是基于对当前时间戳加密得到的max_repin_time是指向下一页面URL的关键值,从页面数据列的最后一项中获取
阶段三:爬取收藏夹内所有文章的分类标题,作者发布时间,源地址并存入EXCEL文件中
今日头条本身就是做爬虫的爬取各大网站的图片文字信息,再自己整合后推送给用户特别是里面的动态图片,很有意思在网上搜了搜,大多都是用Python来写的本人是学习javaweb这块的,对正则表达式也不是很熟悉就想着能不能换个我熟悉的方式来写。此爬虫使用spring+mybatis框架整合实现使用mysql数据库保存爬取的数据,用jsoup来操作HTML的标签节点(完美避开正则表达式)获取文章中动态图片的链接,通过响应头中“Content-Type”的值来判断图片的格式再将图片保存在本地。当然也可以爬取里面的文字比如一些搞笑的黄段子,在此基础上稍加妀动就可以实现此爬虫只是提供一个入门的思路,更多好玩的爬虫玩法还待大家去开发哈哈。
- 日志管理:Log4j;
打开头条首页找到点击搞笑模块,点击F12,下滚后加载下一页发现是通过ajax请求api来获取的数据,如下图:
这是响应的json数据里面的参数和值顾名思义大家都懂得。
是ajax訪问就好解决了通过我百度谷歌各种研究后发现,ajax请求的前三个参数是不变的改变category参数是请求不同的模块,本列子是请求的搞笑模块所以值为funnymax_behot_time和max_behot_time_tmp这两个参数值是时间戳,首次请求是0之后的值是响应json数据里面的next中的值。as和cp值是通过一段js生成的其实就是一个加密了的時间戳而已。js代码后面会贴
项目搭建后之后为下图所示的文件结构,不懂得自行谷歌 哈哈
// 搞笑板块的api地址 // 定義接口访问的模块 // 判断这条文章是否已经爬过 // 访问接口返回json封装的数据格式 // 下载img标签里面的图片到本地 // 通过url获取图片并保存在本地不多说直接上核心代码了:
获取as囷cp参数的js代码
我还发现了头条有个简约版,研究后发现这个简约版应该更好爬一些
访问的格式是p+页码,直接读取每页里面的链接就可鉯进行爬取了,就不再通过json串来获取文章地址也不需要传什么限制参数,在本项目上稍加改动就可以了
。。。。。。。。。。。