您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Python爬蟲中獲取百科段子的案例,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
糗事百科在前一段時間進行了改版,導致之前的代碼沒法用了,會導致無法輸出和 CPU 占用過高的情況,是因為正則表達式沒有匹配到的緣故。 現在,博主已經對程序進行了重新修改,代碼親測可用。
首先我們確定好頁面的URL。初步構建如下的代碼來打印頁面代碼內容試試看,先構造最基本的頁面抓取方式,看看會不會成功。
# -*- coding:utf-8 -*- import urllib import urllib2 page = 1 url = 'http://www.qiushibaike.com/hot/page/' + str(page) try: request = urllib2.Request(url) response = urllib2.urlopen(request) print response.read() except urllib2.URLError, e: if hasattr(e,"code"): print e.code if hasattr(e,"reason"): print e.reason
運行程序,哦不,它竟然報錯了,真是時運不濟,命途多舛啊
line 373, in _read_status raise BadStatusLine(line) httplib.BadStatusLine: ''
好吧,應該是 headers 驗證的問題,我們加上一個 headers 驗證試試看吧,將代碼修改如下
# -*- coding:utf-8 -*- import urllib import urllib2 page = 1 url = 'http://www.qiushibaike.com/hot/page/' + str(page) user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' headers = { 'User-Agent' : user_agent } try: request = urllib2.Request(url,headers = headers) response = urllib2.urlopen(request) print response.read() except urllib2.URLError, e: if hasattr(e,"code"): print e.code if hasattr(e,"reason"): print e.reason
嘿嘿,這次運行終于正常了,打印出了第一頁的 HTML 代碼,大家可以運行下代碼試試看。在這里運行結果太長就不貼了。
關于Python爬蟲中獲取百科段子的案例就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。