標籤:爬蟲 python Regex 糗事百科
1.需求
按下斷行符號鍵,顯示一個段子,要求顯示段子的作者、點贊數、評論數、頂等資訊。
2.段子網站
地址:http://www.qiushibaike.com/hot/page/1,更換後面的數字可以擷取不同頁的段子,每頁有10多條段子吧,因此爬蟲從讀取該網頁並解析就好了。
3.實現方式
這裡使用的Python庫都是系統內建的,所以不需要安裝額外的第三方庫,使用的庫主要是urllib2--用於擷取網頁內容,re-Regex解析擷取網頁資訊。
其中urllib2需要注意設定header和以request的方式請求網頁,而最主要的則是reRegex的寫法了,這個見仁見智,我Regex不是很熟,也就能寫個能用的,所以……品質不能保證哈。
擷取的每個段子的內容基本都是這樣子的:
<div class="article block untagged mb15" id='qiushi_tag_106723566'><div class="author"><a href="/users/14932928"><img src="http://pic.qiushibaike.com/system/avtnew/1493/14932928/medium/20141225021149.jpg" alt="王小婕" /></a><a href="/users/14932928">王小婕 </a></div><div class="content">家裡的哈士奇,訓練撿東西一直沒學會,直到有一天,兜裡錢掉了,他丫叼著不撒口,從此學會撿錢了,有一天他和一個硬幣較上勁了,叼不起來,丫的硬是用舌頭舔回家……<!--2015-05-22 23:56:08--></div><div class="stats"><span class="stats-vote"><i class="number">16479</i> 好笑</span><span class="stats-comments"><span class="dash"> · </span><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'])"><i class="number">120</i> 回複</a></span></div><div id="qiushi_counts_106723566" class="stats-buttons bar clearfix"><ul class="clearfix"><li id="vote-up-106723566" class="up"><a href="javascript:voting(106723566,1)" class="voting" data-article="106723566" id="up-106723566" title="16904個頂"><i class="iconfont" data-icon-actived="Python抓取段子的爬蟲