写一个新闻阅读app,怎么从其他网站获取新闻

2024-05-13 14:12

1. 写一个新闻阅读app,怎么从其他网站获取新闻

技术上来讲毫无难点。具体实现步骤如下:  连接新闻网站的首页  抓取HTML的内容  解析抓取的HTML网页中的标题以及文章链接  将所有标题显示在当前页,并将标题以及文章链接传到下一个页面  抓取文章链接内容,和上页传来的标题一起显示在当前页  看的再多不如动手一试  由于快点看出效果,所以一切就从简了。直接建立Android项目,建立空的Activity。然后在你的layout的这个文件中加入一个按钮。比如像这样:    然后在MainActivity里的onCreateView函数里加入一个方法,让它能点击你刚刚添加的按钮进入到下一个界面:  1 rootView.findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {2                 3                 @Override4                 public void onClick(View v) {5                     // TODO Auto-generated method stub6                     StartGeek();7                 }8 9             });  点击按钮会触发事件,执行StartGeek的方法,而StartGeek的方法则是跳到下一个Activity,  1 private void StartGeek() {2             // TODO Auto-generated method stub3             Intent intent = new Intent();4             intent.setClass(this.getActivity(), GeekActivity.class);5             startActivity(intent);6             7         }  StartGeek  在这个Activity中,我们将访问网页,并从中获取HTML网页的内容,然后进行解析,获取新闻的标题以及链接,然后将新闻的标题显示在手机屏幕上,代码具体实现如下:  1     ListView listview;2     Handler handler;3     List> data;4     5     final String CSDNURL = "/bi.htm";       首先是变量的声明,至于变量名的问题请随意吐槽,因为一直在尝试拿各种网站的新闻内容,所以变量名是最初的,由于懒就一直没换-。 -,由于新闻网站的内容较多,所以用ListView比较合适,这样不会出现显示不全的情况。  1 @Override2     protected void onCreate(Bundle savedInstanceState) {3         super.onCreate(savedInstanceState);4         setContentView(R.layout.activity_geek);5         handler = getHandler();6         ThreadStart();7     }   1  6  7     12 13   activity_geek.xml  接下来是onCreate方法,这里界面是activity_geek,然后调用两个方法,由于获取数据费时,所以又起了一个线程,当然比较好的方法是用异步线程来做,那样的话不仅可以不占用主线程,而且还可以很方便的加进度条什么的,相当好用,至于我为什么不用,当然是不会用了撒~  1 private void ThreadStart() { 2         new Thread() { 3             public void run() { 4                 Message msg = new Message(); 5                 try { 6                     data = getCsdnNetDate(); 7                     msg.what = data.size(); 8                 } catch (Exception e) { 9                     e.printStackTrace();10                     msg.what = -1;11                 }12                 handler.sendMessage(msg);13             }14         }.start();    15     }  ThreadStart  这是新的线程,用于从网址获取我们想要的HTML文件,并将其传给handler处理。获取的函数方法是:  1 data = getCsdnNetDate();  1 private List> getCsdnNetDate() { 2         List> result = new ArrayList>(); 3         Document doc = http_get(CSDNURL); 4         Elements links = doc.select("h3>a"); 5         for(Element link: links) 6             { 7                 Map map = new HashMap(); 8                 map.put("title", link.attr("title")); 9                 map.put("url", link.attr("abs:href"));10                 result.add(map);11             }12 13         14         return result;15     }  getCsdnNetDate  1 Document doc = http_get(CSDNURL);  1 private Document http_get(String url) { 2         Document doc=null; 3         try { 4             doc = Jsoup.connect(url) 5                     .timeout(50000) 6                     .get(); 7         } catch (IOException e) { 8             // TODO Auto-generated catch block 9             e.printStackTrace();10         }11 12         return doc;13     }  http_get  通过http_get方法中的Jsoup.connect来连接到网址,然后通过.get方法来获得HTML的文本信息,设定的连接时间是5S,获取到这个文本信息之后Jsoup还带有解析方法,通过link.attr("title")来获取HTML中的标签中的标题,然后再通过link.attr("abs:href")来获取新闻中的链  接,由此,我们就获得了HTML中最为重要的两部分,也就是标题以及链接,事情到这里已经完成大半了,接下来就是将标题显示在当前页面,然后点击标题后,能将标题以及文中内容显示在下个页面,处理的方法如下:  1 private Handler getHandler() { 2         return new Handler(){ 3             public void handleMessage(Message msg) { 4                 if (msg.what  arg0, View arg1, int arg2,12                     long arg3) {13                 Map map = data.get(arg2);14                 String url = (String)(map.get("url"));15                 String title = (String)(map.get("title"));16                 Intent intent = new Intent();17                 intent.putExtra("url", url);18                 intent.putExtra("title", title);19                 intent.setClass(GeekActivity.this, ContentActivity.class);20                 startActivity(intent);21             }22         });23     }  initListview  这个方法会将获取的新闻标题显示在当前页面上,然后将新闻的标题以及链接保存下来,通过intent传到下一个Activity,也就是ContentActivity进行处理,并将标题以及内容显示在下一个页面中。代码的分下如下:  1 @Override 2     protected void onCreate(Bundle savedInstanceState) { 3         super.onCreate(savedInstanceState); 4         setContentView(R.layout.activity_content); 5          6         url = getIntent().getStringExtra("url"); 7         String title = getIntent().getStringExtra("title"); 8         TextView tv = (TextView)findViewById(R.id.title_content); 9         tv.setText(title);10         handler = getHandler();11         ThreadStart();12     }  onCreate  onCreate方法中获取上个Activity中传过来的url以及title,然后直接将新闻标题显示在当前页,然后剩余部分和上个方法差不太多,连接到网上,获取HTML内容,这次在方法中仅仅是解析的方法不同,毕竟这次解析是要获取内容嘛~代码如下:  1 private List> getCsdnNetDate() { 2         List> result = new ArrayList>(); 3         Document doc = http_get(url); 4         Elements links = doc.select("div#Cnt-Main-Article->p"); 5         for(Element link: links) 6             { 7                 Map map = new HashMap(); 8                 map.put("title", link.text()); 9                 result.add(map);10             }11 12         13         return result;14     }  标红部分为与上次不同的部分,这个解析都是用的Jsoup自带的,当然正则表达式也是可以做到的哦,咳咳,我承认我很懒的啊,有好用的工具就直接用了,省时省力的事干嘛不用呢,就像写网站有框架了自然就用了,不喜欢用的我也木有办法,你可以使用正则表达式来做,话说以前用  Python做爬虫的时候就是正则表达式做的。  至此一个小的新闻的阅读APP就出世了,哦,对了,不要忘了在你的配置文件加入Activity以及上网许可,不然的话是会闪退的哦。当然这个APP很是粗糙,有时间的人可以将图片也加上进行一下页面的设计,做一下美工什么的。转载写一个新闻阅读app,怎么从其他网站获取新闻

写一个新闻阅读app,怎么从其他网站获取新闻

2. 问下,现在很多的新闻app是抓取的别的网站的实时新闻,那么就算写上出自xx新闻,这样就合法了吗?

你说的问题涉及几方面,第一,在我国,有资格刊载新闻的网络媒体并不多,大部分其实都是违法的。第二,按理转载别人的新闻是应当尊重别的版权的,必要的时候需要支付费用,但版权保护在我国尚不完善。第三,避风港原则是国际惯例,版权方只要告知侵权方的侵权行为,侵权方立即停止侵权行为且没有对版权方造成损失,侵权方也不算违法。

3. 个人APP里面如何获取别的网站的新闻

模块内加载链接,设置为流动模块

个人APP里面如何获取别的网站的新闻

4. 我想弄个新闻的app,新闻直接从个大新闻网站上转过来,并注明出处,请问这样违法吗

新闻APP本身并没有采访报道权,而是从他方获取信息,通过智能化方式进行推荐。该类软件的运行模式,已经违反了知识产权法,侵犯了诸多信息来源方的法定权利。为了鼓励知识传播,尤其为了保障新闻资讯得以更广泛传播,著作权法和《信息网络传播权保护条例》对于媒体和互联网转载,做出了许可性规定。但是,这两项法律还规定着,作者声明不许刊登的除外。此“作者”为广义上的“著作权享有者”,既包括文章作者本人,也包括编撰者、提供载体者等一系列著作权人,而现在的新闻媒体通常都会注明"非经同意,不得转载” ,所以这种APP是侵犯知识产权的。          祝你顺利

5. 有哪些可以看新闻的APP

看新闻是很多人的爱好,曾经人们习惯在早上边吃早餐边看报,随着时代的发展,报纸使用率不如从前,人们开始用手机查看新闻,今天软件帝就为大家介绍几个看新闻的APP:1.央视新闻央视新闻app由官方权威出品提供丰富的新闻资讯直播、点播、预告、搜索、和分享服务,24小时滚动更新,让你随时随地获取新闻资讯,是中央电视台新闻中心官方客户端,APEC会议独家报道! 丰富的新闻资讯直播、点播、预告、搜索、和分享服务,24小时滚动更新,让你随时随地获取新闻资讯。

2.腾讯新闻
腾讯新闻手机版是一款手机资讯阅读软件,通过腾讯新闻手机版可以看到腾讯网12个频道的内容,第一时间收到要闻推荐,并且可以根据个人喜好进行频道定制。它是腾讯公司为用户精心打造的一款拥有7x24小时全方位新闻报道的新闻产品,为用户提供高效、优质的资讯服务。3.凤凰新闻凤凰新闻客户端是凤凰新媒体倾力打造的移动新闻阅读产品,它延续了"凤凰系"独特的新闻理念和别具一格的新闻视角,整合了众多专业媒体机构生产的内容、用户生成的内容、以及自身生产的专业内容,提供含图文、音频、视频的全方位综合新闻资讯、深度报道、观点评论、财经产品、互动应用、分享社区、在线网页游戏等全媒体内容形态,汇集全球资讯、视频、财经、娱乐、体育、时尚、汽车、房产、科技、游戏、佛教等频道热点头条新闻,满足主流人群浏览、表达、交流、分享、娱乐、理财等多元化与个性化的诉求。4.人民日报人民日报app是中国党中央委员会的机关报, 创刊于1948年6月15日, 人民日报为中国第一大报,是中国最具权威性、最有影响力的全国性报纸。报纸及时准确、鲜明生动地宣传党中央精神和中国政府最新政策。5.新浪新闻新浪新闻app由新浪官方出品,通过新浪新闻手机版可第一时间获取全球新闻资讯,国内国外要闻,精彩的体育赛事报道,金融财经动向,影视娱乐事件,还有独家微博“微”新闻,精彩随你看,新闻、星座、笑话一个都不少。

软件帝为您解答,如有帮助希望点赞!!!

有哪些可以看新闻的APP

6. 怎么做一个新闻APP小编?

+四无令三令酒无流贰

7. 想做一个类似于今日头条的app,新闻来源怎么弄

UC头条的推送模式也是根据用户的行为,逐渐建立更加清晰的用户画像,进而推送更加符合用户趣味和品位的内容。

想做一个类似于今日头条的app,新闻来源怎么弄

8. 有个看新闻可以赚钱的app是什么

推荐搜狐新闻和东方头条,还有的例如趣看天下、中青看点等。普通用户在阅读新闻的同时就可以获得收益,但是只有收徒弟拉新才能获得高收益。用户可以阅读app推荐的新闻,或者是选择自己感兴趣的内容阅读都是可以的,没有任何强制性,而且几乎没有操作性就跟平时看普通的新闻资讯类app是一样的。