【视频】于欢案之网民的意见(1)?
在那种情景下,是个人都很难理性的。于欢与其母人身自由失去了,生命权生存权尊严的权利面临着随时被侵害的风险,在这种情况下,为了自己的母亲,于欢做了他应该做的事情,我觉得他没有做错。
他的行为合情:
于欢因为母亲受辱,做出了我们都认为对的事情,儿子就该这样做,符合孝道为人子的行为规范,他的行为,合情。
他的行为合法:
在那特定情境下,人身自由被限制,生命安全随时受到伤害,属于不法侵害正在发生,阻止犯罪行为的继续进行,属于正当防卫,合法。
哎,但有的时候我就是觉得法律与人情有交叉又有分离,并不能完美的划上等号,这真的很让人纠结。
请输入标题 abcdefg
故事的开始是这样
2016年4月14日,一位22岁的男子于欢,在母亲苏银霞和自己被11名催债人长达一小时的侮辱后,情急之下用水果刀刺伤了4人。其中,被刺中的杜志浩自行驾车就医,却因失血过多休克死亡。儿子于欢因刺死1人被判无期,判决引发社会热议。山东女企业家苏银霞年轻的儿子于欢,杀死了催债人杜志浩。
请输入标题 abcdefg
案例:于欢案微博评论
请输入标题 bcdef
微博搜#辱母杀人案#,我们发现人民日报的评论都只有不到1000条,但通过一些分析,发现澎湃新闻相关新闻有近3万条评论。那么我们就爬“澎湃新闻”吧
如果不想看后面的详细图文,也可直接看视频
https://v.qq.com/txp/iframe/player.html?vid=d03880fbjkq&width=500&height=375&auto=0
请输入标题 abcdefg
任务分析
请输入标题 bcdef
我们之前做过几次微动态网页爬虫,也有针对微博的爬虫任务。通过经验,总结为一下几个要点:
1、抓包分析获得有规律的网址
2、使用cookie保持微博的登录状态
3、数据传输是json格式(类似于字典)
4、这次用正则表达式匹配出想要的评论文本
4、这次再多一个文本数据的保存
1、抓包分析
澎湃新闻网址
http://weibo.com/thepapernewsapp?refer_flag=1005055014_
点击这条新闻的评论,出现下图:
然后我们点击“查看更多”,弹出了另外一个网页
http://weibo.com/5044281310/EBCPc6GhJ?filter=hot&root_comment_id=0&type=comment
打开开发者工具,进行抓包分析,先点击‘查看更多’
出现可疑网址
可疑网址:
http://weibo.com/aj/v6/comment/big?ajwvr=6&id=4089673821592515&root_comment_max_id=183623306287751&root_comment_max_id_type=0&root_comment_ext_param=&page=4&filter=hot&sum_comment_number=6598&filter_tips_before=0&from=singleWeiBo&__rnd=1490606915317
发现该网址中去掉不可用的部分,如下
'http://weibo.com/aj/v6/comment/big?ajwvr=6&id=4089673821592515&root_comment_max_id=162870024611262&root_comment_max_id_type=0&root_comment_ext_param=&page=5&filter=hot'
发现现在是在第五个叶片,page=5。
那么我们就先默认这个网址是可行的,进行后续的操作。
构造出base_url = 'http://weibo.com/aj/v6/comment/big?ajwvr=6&id=4089673821592515&root_comment_max_id=162870024611262&root_comment_max_id_type=0&root_comment_ext_param=&page={page}&filter=hot'
请输入标题 abcdefg
2、cookie的使用
请输入标题 bcdef
这里我就简单说下吧
Cookie = {'Cookie':‘你的cookie’}
然后发请求
r = requests.get(url, cookies= Cookie)
cookie怎么找???
看下图
3、json格式数据
r = requests.get(url, cookies= Cookie)
在咱们这个案例中,数据就是类似于字典的数据
如下图:
从上面看似乎是dict格式的数据,那么真的如自己所想吗?检验下数据格式
结果显示是str,所以我们暂时还不能用dict[key]这种方式获取我们想要的html数据。
这里首先要将str转换为dict,解决办法有两个:
方法一:
import json
Data = json.loads(r.text)
方法二:
直接使用requests的方法
Data = r.json()
我们使用方法二,也建议大家使用方法二:
现在我们马上能能获取html了,在其中也应该能找到评论。结果如下
4、正则匹配出评论文本
首先我们列出几个评论,如下
</a>:不是所有的警察都是这样的。就是因为败类警察太多。 </div>
</a>:严查黑恶势力的保护伞,公安系统没有保护伞,他们不会那么猖獗 </div>
我们发现评论内容前都出现了</a>,评论内容后出现</div>
那么我们可以构造一个正则表达式规律模板:
re.compile(r'</a>: (.*?) </div')
运行
但是,评论中还是有杂质,如图片链接等,我们只要汉字内容!!!
那么我们这里再用一次正则,匹配出所有的汉字
汉字的正则表达式是
re.compile(r'[\u4e00-\u9fa5]')
多个汉字的表达式是
re.compile(r'[\u4e00-\u9fa5]+')
我们用多个(多于一个汉字)汉字的表达式,运行如下:
但评论是列表格式,我们必须把每个评论编程字符串格式。这里用到列表中多个字符串的拼接方法
5、保存
请输入标题 bcdef
import os
#获取当前代码所在的文件夹路径
path = os.getcwd()
filename = '辱母杀人评论.txt'
file = path + '/' + filename
f = open(file, 'a+', encoding='utf-8')
#文本写入txt文件
f.write(comment)
#这么详细,不要我写了吧,大功告成了
请输入标题 abcdefg
更多内容
大数据
爬虫
【视频】有了selenium,小白也可以自豪的说:“去TMD的抓包、cookie”
【视频】快来get新技能--抓包+cookie,爬微博不再是梦
文本分析
神奇的python