技术经验解读:一个简单抓取糗事百科糗事的小程序

简介: 技术经验解读:一个简单抓取糗事百科糗事的小程序

看糗事百科是从2008年开始的,自从买了智能手机以后,就用手机看了,想着糗百的网站上下都有广告,自己只想看糗事,不想看广告,顺便还能节省下流量,就能能不能做个程序把糗百的糗事抓下来,其他的都去掉,于是就写了下面的这段.希望糗百大神们不要追究我的责任啊,我只是研究了一下下.


前台文件:


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebTest._Default" EnableViewState="false" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""

[/span>html xmlns=""

[/span>head runat="server"

[/span>meta name="viewport" content="width=device-width, initial-scale=1.0" />


[/span>title

[/span>style type="text/css"

body{margin:5px;font:12px arial,sinsun;background:#fff;}


img{border:none;}


a{text-decoration:none;}


.qiushi{margin:5px 0;padding:10px;border-bottom:1px solid #ece5d8;}




[/span>bodyform id="bodyForm" runat="server"

后台代码:


1 protected void Page_Load(object sender, EventArgs e)


2 {


3 string URI = "";


4 string pageInfo = Request.QueryString【"param"】 == null ? string.Empty : Request.QueryString【"param"】.ToString().Trim();


5 URI = URI + pageInfo;


6


7 bodyForm.InnerHtml = Server.HtmlDecode(getQiushi(URI));


8 }


getQiushi


1 private string getQiushi(string URI)


2 {


3 WebRequest request = WebRequest.Create(URI);


4 WebResponse result = null;


5 result = request.GetResponse();


6 Stream ReceiveStream = result.GetResponseStream();


7 StreamReader sr = new StreamReader(ReceiveStream);


8 string resultstring = sr.ReadToEnd();


//代码效果参考: http://www.lyjsj.net.cn/wx/art_22852.html

9 StringBuilder responseString = new StringBuilder();


10


11 Regex regContent = new Regex("(?【\s\S】+?)"); //匹配糗事内容


12 Regex regComment = new Regex("


(?【\s\S】+?)


"); //匹配评论


13 Regex regUserInfo = new Regex("


(?【\s\S】+?)


"); //匹配发布者信息


16 Regex regLinks = new Regex("(href=\")(/【^\s】*)(\")"); //匹配链接


17 Regex regPrevPage = new Regex("上一页"); //匹配换页


18 Regex regNextPage = new Regex("下一页");


19 Regex regBlankLine = new Regex(@"【\n|\r|\r\n】"); //代码效果参考:http://www.lyjsj.net.cn/wx/art_22848.html

//匹配换行

20 MatchCollection mcContent = regContent.Matches(resultstring);


21 Match mcPrevPage = regPrevPage.Match(resultstring);


22 Match mcNextPage = regNextPage.Match(resultstring);


23 string prevPage = "上一页 ";


24 string nextPage = "下一页";


25


26 for (int i = 0; i < mcContent.Count; i++)


27 {


28 string content = mcContent【i】.ToString();


29 content = Regex.Replace(content, regComment.ToString(), "", RegexOptions.IgnoreCase);


30 content = Regex.Replace(content, regUserInfo.ToString(), "", RegexOptions.IgnoreCase);


32 content = Regex.Replace(content, regLinks.ToString(), "href=\"?param=$2\"", RegexOptions.IgnoreCase);


33 content = Regex.Replace(content, regBlankLine.ToString(),"", RegexOptions.IgnoreCase);


34


35 responseString.Append(content);


37 }


38


39 responseString.Append("" + prevPage);


40 responseString.Append(nextPage + "");


41


42 return responseString.ToString();


43 }


Page Load里面的那个param参数主要是为了获取上一页 ,下一页和标签的,现在基本的功能都实现了,没有广告了,不过不能查看留言.

相关文章
|
3月前
|
小程序
跨端技术问题之为什么在微信小程序中静态转义出didUpdate生命周期可靠程度低
跨端技术问题之为什么在微信小程序中静态转义出didUpdate生命周期可靠程度低
|
3月前
|
移动开发 小程序 JavaScript
跨端技术问题之小程序渠道环境的差异带来了什么样的挑战
跨端技术问题之小程序渠道环境的差异带来了什么样的挑战
|
2月前
|
小程序 安全
Fiddler抓取小程序后端请求导入AppScan扫描快捷方法
【8月更文挑战第26天】这是一种利用 Fiddler 捕获小程序后端请求并导入 AppScan 进行安全扫描的方法。首先安装配置 Fiddler 并设置手机代理,通过 Fiddler 捕获请求;接着导出这些请求为 .saz 文件,并在 AppScan 中导入此文件,配置扫描参数后启动扫描以检测安全漏洞。操作时需确保有合法授权并遵循相关法规。尽管不同版本软件操作细节可能有所不同,但整体流程类似。
|
2月前
|
小程序 前端开发 JavaScript
【电商新机遇】支付宝小程序如何助你打造爆款电商解决方案?揭秘背后的技术奥秘!
【8月更文挑战第27天】本文详细介绍如何利用支付宝小程序构建电商应用,覆盖从项目初始化、页面设计、功能开发到数据分析的全流程。首先,需注册开发者账号并安装相关工具;随后创建项目,并按示例配置基本页面结构;接着设计商品列表等界面布局;再实现商品展示等功能;最后运用支付宝提供的工具进行数据分析,以优化用户体验及营销策略。跟随本教程,您将能打造出一款完整的电商小程序。
59 1
|
2月前
|
小程序 前端开发 JavaScript
微信小程序结合PWA技术,提供离线访问、后台运行、桌面图标及原生体验,增强应用性能与用户交互。
微信小程序结合PWA技术,提供离线访问、后台运行、桌面图标及原生体验,增强应用性能与用户交互。开发者运用Service Worker等实现资源缓存与实时推送,利用Web App Manifest添加快捷方式至桌面,通过CSS3和JavaScript打造流畅动画与手势操作,需注意兼容性与性能优化,为用户创造更佳体验。
57 0
|
3月前
|
小程序 开发工具 开发者
知识付费教育小程序搭建的流程及技术要点
【知识付费教育小程序】兴起于知识经济时代,旨在提供高质量知识服务。开发涉及定位受众、技术选型(如微信小程序)、功能设计(课程展示、购买、进度跟踪)、内容更新及用户体验优化。推广与运营,包括社交媒体宣传、会员体系构建、积分激励及持续优化,确保用户增长与留存。
|
3月前
|
小程序
跨端技术问题之页面或组件样式在小程序、小程序插件和小程序分包中有什么差异
跨端技术问题之页面或组件样式在小程序、小程序插件和小程序分包中有什么差异
|
4月前
|
JSON 小程序 JavaScript
技术心得记录:小爱童鞋@你,一起来撸个小程序吧
技术心得记录:小爱童鞋@你,一起来撸个小程序吧
39 0
|
4月前
|
XML 小程序 前端开发
技术心得记录:微信小程序开发的基本流程
技术心得记录:微信小程序开发的基本流程
36 0
|
2月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
60 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
下一篇
无影云桌面