获取笑话集网站笑话数据的后台代码

最近做了一个app用于获取笑话集网站的数据,为了方便开发。我先用PHP对数据进行了预处理

代码如下

 

<?php
include_once("writeLog.php");
class Joke
{
	var $jokeText = "";
	var $urlNext = "";
	var $urlPrv = "";
	var $urlBase = "http://wap.jokeji.cn/";

	function __construct()
	{

	}
	function getContent($url){
		MyLog("url.log",$url);
		$html = file_get_contents(iconv("gb2312","UTF-8",$url));
		$begin = stripos($html,"<div class=\"joketxt\">") + 23;
		$end = stripos($html,"<script",$begin);
		$r = substr($html, $begin, $end - $begin);
		$r = str_ireplace("<p>","",$r);
		$r = str_ireplace("</p>","",$r);
		$r = str_ireplace("<br>","\r\n",$r);
		$this->jokeText = $r;
		$begin = stripos($html,"上一篇:<a");
		if ($begin != false)
		{
			$begin += 27;
			$end = stripos($html,"\"",$begin);
			$this->urlNext = substr($html, $begin, $end - $begin);
		}
		$begin = stripos($html,"下一篇:<a");
		if ($begin != false)
		{
			$begin = $begin + 27;
			$end = stripos($html,"\"",$begin);
			$this->urlPrv = substr($html, $begin, $end - $begin);
		}
	}

	function getFirstLink()
	{
		$html = file_get_contents($this->urlBase);
		$begin = stripos($html,"<div class=\"list\">") + 42;
		$end = stripos($html,"\"",$begin);
		$r = substr($html, $begin, $end - $begin);
		return $r;
	}

	function getJoke($u){
		if ($u == "")
		{
			$url = $this->urlBase.$this->getFirstLink();
		}
		else
		{
			$url = $this->urlBase.urlencode($u);
		}
		$this->getContent($url);

		$joke = array();
		$joke["content"] = $this->jokeText;
		$joke["next"] = $this->urlNext;
		$joke["previous"] = $this->urlPrv;
		return $joke;
	}

}
时间: 2024-08-29 10:45:24

获取笑话集网站笑话数据的后台代码的相关文章

C#中使用 HttpWebRequest 向网站提交数据

HttpWebRequest 是 .NET 基类库中的一个类,在命名空间 System.Net 里,用来使用户通过 HTTP 协议和服务器交互. HttpWebRequest 对 HTTP 协议进行了完整的封装,对 HTTP 协议中的 Header, Content, Cookie 都做了属性和方法的支持,很容易就能编写出一个模拟浏览器自动登录的程序. 下面是HttpWebRequest的一些属性,这些属性对于轻量级的自动化测试程序是非常重要的. AllowAutoRedirect:获取或设置一

phpcms后台获取当前登录账号的数据的代码:

<?php //phpcms后台获取当前登录账号的数据的代码: $amdinid=$_SESSION['userid']; $infoadmin=$this->admin->get_one(array('userid'=>$amdinid)); //测试一下 echo '<pre>'; var_dump($infoadmin); echo '</pre>'; //看到的结果: array(11) { ["userid"]=> str

NODE.js同步调用获取mysql快3网站搭建数据时遇到的大坑

mysql调用获取数据,快3网站搭建[企鹅21717-93408]只能是异步方式返回结果,不能同步获取结果,因此,须在回调函数中编写处理事件.期间看了下Aysnc.js,是用于多个要返回回调函数的事件,将这些事件有序的组织起来,最后只返回一个回调函数,并没有改变异步的本质,而是将多个异步整合为一个异步,从而满足写程序的需求. 错误示范 获取数据库中的数据函数 var _getUser = function(name) {var sql = "SELECT * FROM " + TABL

网站源码 网站模板 扁平化后台管理 Bootstrap、HTML5、CSS3 Java

A.代码生成器(开发利器) 生成Java各层次的类和JSP等文件,提高开发效率 B.阿里巴巴数据库连接池Druid 性能最好的数据库连接池,稳定.可扩展.高性能.高并发 C.安全权限框架Shiro 实现认证.授权.加密.缓存.并发.会话管理.单点登录等功能 D.Ehcache二级缓存和Spring MVC静态加载缓存 E.微信接口开发 详尽的单元测试代码,详尽的开发文档,每个模块都有详尽说明和代码示例 F.提供基于JBPM工作流的OA办公系统(后续加入Activiti 5.18工作流) ----

android获取某应用的帧数据

android获取某应用的帧数据: 说明: (打开手机 开发者选项-GPU显示配置文件(显示于 adb shell dumpsys gfxinfo)勾上,只有4.1以上支持) 在android4.1中,谷歌提供了一个工具来,叫做" GPU呈现模式分析(Profile GPU rendering)", 在开启这个功能后,系统就会记录保留每个界面最后128帧图像绘制的相关时间信息 开始操作: 命令行 adb shell dumpsys gfxinfo com.taobao.mobile.d

利用ajax的方式来提交数据到后台数据库及交互功能

怎么样用ajax来提交数据到后台数据库,并完成交互呢????? 一.当我们在验证表单的时候,为了阻止把错误的也发送到服务器,我们通常这样设置:     $(function(){       var isusername;(定一个变量)        var ispwd;         $('form').submit(function(e){             if(!isusername || !ispwd){                 e.preventDefault();(

oracle 与sql serve 获取随机行数的数据

Oracle 随机获取N条数据    当我们获取数据时,可能会有这样的需求,即每次从表中获取数据时,是随机获取一定的记录,而不是每次都获取一样的数据,这时我们可以采取Oracle内部一些函数,来达到这样的目的1) select * from (select * from tablename order by sys_guid()) where rownum < N; 2) select * from (select * from tablename order by dbms_random.va

网站分析数据收集方式详解

回顾网站数据分析历史,从“您是第***位来访用户”到现在百家齐放的专业工具提供商,网站分析已经逐渐发展衍化成一门科学.但面对形态各异的分析数据,很多人仍然困惑于数据的来源,了解数据的收集原理,也许对你解决这些困惑有所帮助. 眼下网站分析数据主要有三种收集方式:Web日志.JavaScript标记和包嗅探器. 1. Web日志 下图是Web日志收集数据过程的示意图. 从上图可以看出网站分析数据的收集从网站访问者输入URL向网站服务器发出http请求就开始了.网站服务器接收到请求后会在自己的Log文

Python爬虫获取JSESSIONID登录网站

在使用Python对一些网站的数据进行采集时,经常会遇到需要登录的情况.这些情况下,使用FireFox等浏览器登录时,自带的调试器(快捷键F12)就可以看到登录的时候网页向服务器提交的信息,把这部分信息提取出来就可以利用Python 的 urllib2 库结合Cookie进行模拟登录然后采集数据,如以下代码: #coding=utf-8 import urllib import urllib2 import httplib import cookielib url = 'http://www.x