近来今日头条特别的火,就拿来研究研究!
头条的新闻内容和新闻评论是开放的,无需登陆就可以获取的到!
但是新闻的评论是需要登陆后才能进行评论的,于是开始模拟头条的用户登陆:
1.模拟登陆的操作能够获取到cookie值,定位initCookie,但是该cookie值不能直接用来作为对新闻进行评论的请求参数。
2.需要找到一个新闻url,例如:http://toutiao.com/a4583986550/,将上部获取的cookie值作为参数,模拟请求,获取到cookie,定为lastCookie.
3.将initCookie和lastCookie进行拼接就可获取到最终的可用于新闻评论的cookie
代码如下:
private String doLoginTouTiao2(String loginName, String password) { String url = "https://mp.toutiao.com/auth/login_post/"; Map<String, String> headers = new HashMap<String, String>(); Map<String, String> params = new HashMap<String, String>(); headers.put("Host", "mp.toutiao.com"); headers.put("Connection", "keep-alive"); headers.put("Origin", "https://mp.toutiao.com"); headers.put( "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"); headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); headers.put("Accept", "application/json, text/javascript, */*; q=0.01"); headers.put("X-Requested-With", "XMLHttpRequest"); headers.put("X-CSRFToken", "b3ebed559047fa1cacaccc6ccfb66851"); headers.put("Referer", "https://mp.toutiao.com/login/"); // headers.put("Accept-Encoding", "gzip, deflate"); headers.put("Accept-Language", "zh-CN,zh;q=0.8"); // String cookie = "uuid=\"w:0256c3403d82490abcc2c7819d48865f\"; tt_webid=3932107506; utm_source=toutiao; __utma=24953151.381297160.1435021810.1435023762.1435106245.3; __utmc=24953151; __utmz=24953151.1435106245.3.2.utmcsr=baidu|utmccn=(organic)|utmcmd=organic|utmctr=%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1; _gat=1; sessionid=249d2efbe15e67a4ff000a9ffe489c4e; csrftoken=b3ebed559047fa1cacaccc6ccfb66851; _ga=GA1.2.381297160.1435021810"; // headers.put("Cookie", cookie); params.put("name_or_email", loginName); params.put("password", password); HttpResponse response = HttpUtils.doPost(url, headers, params); List<Cookie> cookies = HttpUtils.getResponseCookies(response); String cookieStr = HttpUtils.setCookie2String(cookies); System.out.println("cookieStr:" + cookieStr); String responseText = HttpUtils.getStringFromResponse2(response, "utf-8"); System.out.println(responseText); return HttpUtils.setCookie2String(cookies); }
获取lastCookie值:
public void publicNewsComment(String cookieStr,String csrfToken) { String url="http://toutiao.com/group/4560598775/post_comment/"; Map<String,String> headers=new HashMap<String,String>(); Map<String, String> params = new HashMap<String, String>(); headers.put("Accept", "application/json, text/javascript, */*; q=0.01"); headers.put("Accept-Language", "zh-CN,zh;q=0.8"); headers.put("Connection", "keep-alive"); headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); headers.put("Host", "toutiao.com"); headers.put("Origin", "http://toutiao.com"); headers.put("Referer", "http://toutiao.com/a4560598775/"); headers.put("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"); headers.put("X-CSRFToken", csrfToken); headers.put("X-Requested-With", "XMLHttpRequest"); // cookieStr="uuid=\"w:0256c3403d82490abcc2c7819d48865f\"; tt_webid=3932107506; sessionid=249d2efbe15e67a4ff000a9ffe489c4e; _ga=GA1.2.381297160.1435021810; __utmt=1; utm_source=toutiao; csrftoken=382a7061c9b0b4abe3c4558ad3847df4; __utma=24953151.381297160.1435021810.1435117044.1435124287.5; __utmb=24953151.6.8.1435124301975; __utmc=24953151; __utmz=24953151.1435124287.5.3.utmcsr=baidu|utmccn=(organic)|utmcmd=organic|utmctr=%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1"; // cookieStr="uuid=\"w:0256c3403d82490abcc2c7819d48865f\"; tt_webid=3932107506; sessionid=249d2efbe15e67a4ff000a9ffe489c4e; _ga=GA1.2.381297160.1435021810; __utmt=1; utm_source=toutiao; csrftoken=382a7061c9b0b4abe3c4558ad3847df4; __utma=24953151.381297160.1435021810.1435117044.1435124287.5; __utmb=24953151.6.8.1435124301975; __utmc=24953151; __utmz=24953151.1435124287.5.3.utmcsr=baidu|utmccn=(organic)|utmcmd=organic|utmctr=%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1"; // cookieStr=cookieStr+"csrftoken=382a7061c9b0b4abe3c4558ad3847df4;"; headers.put("Cookie", cookieStr); params.put("status", "啊啊啊啊啊!你这么做让释永信大僧脸面何在啊!"); HttpResponse response = HttpUtils.doPost(url, headers, params); System.out.println(response); String responseText =HttpUtils.getStringFromResponse2(response,"utf-8"); System.out.println(responseText); }
运行main方法:
public static void main(String[] args) { LoginTouTiao loginTT = new LoginTouTiao(); String cookieStr = loginTT.doLoginTouTiao2("763197812@qq.com", "123456"); System.out.println(cookieStr); String csrfToken=loginTT.fetchCsrfToken2(cookieStr); cookieStr=cookieStr+";"+csrfToken; String[] ss=csrfToken.split(";"); String s=ss[0]; String[] tokens=s.split("="); String token=tokens[1]; System.out.println(token); SpiderTouTiao2 spider=new SpiderTouTiao2(); spider.publicNewsComment(cookieStr,token); }
相关推荐
用于对接今日头条发布新闻接口,.net版本(4.5.2) 使用注意:自己要到今日头条的管理中心配置数据 https://open.mp.toutiao.com/#/resource?_k=2o14u3 ,然后网站配置文件配置对接数据(详细看ToutiaoApi下的Config...
在Android应用开发中,创建一个类似今日头条的评论框是一项常见的需求,主要目的是提供用户友好的交互体验,特别是在新闻阅读或社交应用中。这个任务涉及到多个技术点,包括自定义视图、软键盘处理、动画效果以及...
本项目是关于使用Scrapy爬虫框架抓取今日头条网站上与特定关键词相关的新闻信息和内容页面。Scrapy是一个强大的Python爬虫框架,适用于构建复杂的爬虫项目,能够高效地处理网络请求、解析HTML内容以及管理爬取的数据...
小程序源码 今日头条 (代码+截图)小程序源码 今日头条 (代码+截图)小程序源码 今日头条 (代码+截图)小程序源码 今日头条 (代码+截图)小程序源码 今日头条 (代码+截图)小程序源码 今日头条 (代码+截图)小程序源码 ...
微信小程序 今日头条 (源码)微信小程序 今日头条 (源码)微信小程序 今日头条 (源码)微信小程序 今日头条 (源码)微信小程序 今日头条 (源码)微信小程序 今日头条 (源码)微信小程序 今日头条 (源码)微信小程序 今日...
微信小程序——[新闻资讯类]今日头条(截图+源码).zip 微信小程序——[新闻资讯类]今日头条(截图+源码).zip 微信小程序——[新闻资讯类]今日头条(截图+源码).zip 微信小程序——[新闻资讯类]今日头条(截图+...
"今日头条中文新闻(文本)分类数据集.zip" 是一个用于训练和评估文本分类模型的数据集,源自著名的新闻聚合平台——今日头条。这个数据集包含了大量来自今日头条的新闻文章,旨在帮助机器学习和自然语言处理(NLP)...
今日头条文章数据,共15425条数据,数据全面,丰富!!!!!
【仿今日头条前端代码】项目是基于Javaweb课程设计的一个实践项目,旨在模拟实现今日头条PC版的网页界面。这个项目主要关注前端开发,利用HTML、CSS和JavaScript等技术来构建用户界面,其中核心是使用了传统的`div+...
精仿今日头条新闻网站带自动采集接口更新文章源码,亲测可用:mysql5.7、PHP7.3支持页面自适应,内附详细安装教程。 功能特点: 1.站点集成新网,网易,搜狐,人民网,中新网等多家新闻接口,全自动采集发布,无需...
精仿今日头条新闻网站带自动采集接口更新文章源码,亲测可用:mysql5.7、PHP7.3支持页面自适应,内附详细安装教程。 功能特点: 1.站点集成新网,网易,搜狐,人民网,中新网等多家新闻接口,全自动采集发布,无需...
Android 毕业设计高仿今日头条新闻客户端(内附源码) Android 毕业设计高仿今日头条新闻客户端(内附源码) Android 毕业设计高仿今日头条新闻客户端(内附源码) Android 毕业设计高仿今日头条新闻客户端(内附...
【新闻列表残缺版】小程序开发详解:仿今日头条样式与功能实现 在当前移动互联网时代,小程序作为一种轻量级的应用形式,受到了广大用户的欢迎。今日头条作为国内新闻资讯领域的领头羊,其简洁高效的界面设计和丰富...
今日头条详情页面今日头条详情页面今日头条详情页面今日头条详情页面今日头条详情页面今日头条详情页面今日头条详情页面今日头条详情页面今日头条详情页面今日头条详情页面今日头条详情页面今日头条详情页面今日头条...
Android 源码 毕业设计高仿今日头条新闻客户端 App 现有功能: 1.获取各种频道的新闻列表,包括视频和非视频新闻; 2.查看新闻详情,包括视频和非视频新闻的详情; 3.查看新闻评论列表; 4.新闻数据本地存储,已经获取...
这款名为“高仿今日头条新闻资讯手机App网页版HTML5网页模板”的资源,是为开发者提供的一款便捷的网页设计工具,特别适用于快速构建H5版本的新闻资讯类网站。HTML5作为现代网页开发的标准,以其丰富的功能和良好的...
7. **用户体验**:除了基本的新闻展示,模拟今日头条还可能包括搜索功能、分类导航、评论系统、用户登录等功能,以提供更完整的用户体验。这些功能的实现涉及表单验证、路由管理、状态管理等技术。 8. **性能优化**...
软件大小:6.37MB 今日头条3.5.6详细信息 编辑点评:收集热门新闻和你感兴趣的新闻,第一时间发现属于你的头条,...⑥和朋友们分享收藏 关注你的朋友,实时分享彼此收藏的文章和发表的评论 今日头条团队感谢你的使用!
【标题】"模仿今日头条的简单实现源码"指的是创建一个类似今日头条的应用程序的代码实现,目的是学习和理解新闻类应用的基本架构和功能。这个项目可能是一个简化版,它旨在帮助开发者掌握核心功能的编程,例如新闻...
在Android应用开发中,模拟今日头条评论框的效果是一项常见的需求,特别是在社交、资讯类应用中,评论功能是用户体验的重要组成部分。这个下载内容显然提供了一个实现此类功能的解决方案,它专注于在底部弹出并位于...