咨询热线:0731-58389610
咨询邮箱:2640248354@qq.com
Python抓取段子的爬虫

1.需求

按下回车键,显示一个段子,要求显示段子的作者、点赞数、评论数、顶等信息。

2.段子网站

地址:http://www.qiushibaike.com/hot/page/1,更换后面的数字可以获取不同页的段子,每页有10多条段子吧,因此爬虫从读取该网页并解析就好了。

3.实现方式

这里使用的Python库都是系统自带的,所以不需要安装额外的第三方库,使用的库主要是urllib2--用于获取网页内容,re-正则表达式解析获取网页信息。
其中urllib2需要注意设置header和以request的方式请求网页,而最主要的则是re正则表达式的写法了,这个见仁见智,我正则表达式不是很熟,也就能写个能用的,所以……质量不能保证哈。

获取的每个段子的内容基本都是这样子的:
  1. <div class="article block untagged mb15" id='qiushi_tag_106723566'>  
  2.   
  3. <div class="author">  
  4. <a href="/users/14932928">  
  5. <img src="http://pic.qiushibaike.com/system/avtnew/1493/14932928/medium/20141225021149.jpg" alt="王小婕" />  
  6. a>  
  7. <a href="/users/14932928">王小婕 a>  
  8. div>  
  9.   
  10.   
  11. <div class="content">  
  12.   
  13. 家里的哈士奇,训练捡东西一直没学会,直到有一天,兜里钱掉了,他丫叼着不撒口,从此学会捡钱了,有一天他和一个硬币较上劲了,叼不起来,丫的硬是用舌头舔回家……  
  14.   
  15.   
  16. div>  
  17.   
  18.   
  19.   
  20.   
  21. <div class="stats">  
  22. <span class="stats-vote"><i class="number">16479i> 好笑span>  
  23. <span class="stats-comments">  
  24.   
  25.   
  26. <span class="dash"> · span>  
  27. <a href="/article/106723566?list=hot&s=4774673" id="c-106723566" class="qiushi_comments" title="120条评论" target="_blank" onclick="_hmt.push(['_trackEvent', 'post', 'click', 'signlePost'])">  
  28. <i class="number">120i> 回复  
  29. a>  
  30.   
  31.   
  32.   
  33. span>  
  34. div>  
  35. <div id="qiushi_counts_106723566" class="stats-buttons bar clearfix">  
  36. <ul class="clearfix">  
  37. <li id="vote-up-106723566" class="up">  
  38. <a href="javascript:voting(106723566,1)" class="voting" data-article="106723566" id="up-106723566" title="16904个顶">  
  39. <i class="iconfont" data-icon-actived="  
		
家里的哈士奇,训练捡东西一直没学会,直到有一天,兜里钱掉了,他丫叼着不撒口,从此学会捡钱了,有一天他和一个硬币较上劲了,叼不起来,丫的硬是用舌头舔回家……
16479 好笑 · 120 回复