舆情分析与影响的经验记录一

最近在做一个老师接的项目,项目名称叫做《舆情分析与影响》。简单讲就是分析网上对某事件的评论,得出正面和反面的支持率,然后用 类似发帖机的东西,进行影响。我做的部分是 舆情影响,说难听点就是 发帖机,说好听点就是高端发帖机。在这个项目里,学习到了很多的东西,想了想还是记录在这里比较好。主要要记录的是两方面:1.软件架构;2.Httpwebrequest的使用

 

1.先讲下Httpwebrequest的使用。

关于Httpwebrequest的使用,网上一搜就是一大堆。我这要写的主要是我自己使用的经验。

刚开始做这个东西的时候,我是这么架构的:有一个Account抽象类,来表示账号。在Account里面,有一个private属性是Httpwebrequest req。当时这么做的思路是,Account类要经常进行发帖的操作,让他的属性里面有一个Httpwebrequest会减少一些变量创建的时间。但是今天我在调试一个网站的发帖时,10条评论最后都是只有3条会正常发帖。代码如下所示:

我就一直在找原因,使用调试一步一步的走,但是都没有问题。随后我又想是不是发帖的速度太快了,就加了Thread.Sleep(),来减缓下发帖的速度。结果还是不行。。最后我就想到是不是req的问题,因为req是一个属性,上一次发帖可能会影响到下一次的发帖。然后我就直接在Post里面,使用一个全新的httpwebrequest变量,结果运行顺利,果然跟我想的一样。

 

2.登陆的经验

现在有的网站都是注册制度,要注册个账号才能发帖或者干别的事。使用httpwebrequest实现登陆主要靠的是CookieContainer。以下代码演示的就是如何登陆

 

其中最关键的就是创建一个CookieContainer实例,然后使用req.CookieContainer = container来关联起来。这样就能保存cookie的值了。

另外比较重要的一点就是:req是否可以为局部变量?

之前我一直以为如果要一直保持登陆的状态,那么req这个变量必须是Account的一个属性。。现在我才明白登陆信息的保存是放在cookiecontainer里面,所以只要cookiecontainer是类的一个属性,并且被实例化,就可以了。httpwebrequest完全可以是局部变量,而且根据我的经验,httpwebrequest最好是局部变量,如果不是局部变量,那么就会有可能影响到别的帖子的发表。。。

 

 

3.远程服务器返回错误: (500) 内部服务器错误

到目前为止,总共碰到过 404 505错误,今天又多了个 500错误。。真是痛苦啊。。。后来查了下,才发现是编码的问题。还以为是gb2312编码,居然是 UTF-8。。。。。。。。。

通过这么多远程服务器错误,总结下:

如果是这类 远程服务器返回错误:XXX.按照我的经验,一般可分为以下几大类:1.忘了加上 cookiecontainer;2.编码问题.其他的都忘了,啥时候记起来了,就再来这写下。

 

今天先写到这,语文不好,如果文字写的很别扭请见谅~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值