python 爬取糗事百科 gui小程序


 

前言:有時候無聊看一些搞笑的段子,糗事百科還是個不錯的網站,所以就想用Python來玩一下。也比較簡單,就寫出來分享一下。嘿嘿

 

環境:Python 2.7 + win7

 

現在開始,打開糗事百科網站,先來分析。地址:https://www.qiushibaike.com

 

 

一般像這種都是文本的話,查看源代碼就可以看到內容了。

 

 

 

 

已經可以看到都是在一個class 為content 的div里面,這樣就很簡單了,直接上正則表達式來匹配就好了。

 

<div.*?class="content">(.*?)</div>

 這樣等會再代碼里面就可以提取出來段子內容了,再來看一下分頁。

 

分頁也很簡單,很有規律,直接接上頁數就行了。

OK  既然 都分析完了 那就直接上代碼。

 

#-*- coding: UTF-8 -*-
# author : Corleone
from Tkinter import *
import urllib2,re

def load(page):
        url="http://www.qiushibaike.com/text/page/"+str(page)+"/?s=4937798"
        user_agent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.113 Safari/537.36"
        headers={'User-Agent':user_agent}
        res=urllib2.Request(url,headers = headers)
        html = urllib2.urlopen(res).read()
        reg=re.compile(r'<div.*?class="content">(.*?)</div>',re.S)
        duanzi=reg.findall(html)
        return duanzi
i=0
page=1
def get():
    if i==0:
        txtlist=load(page)
        page+=1
    if i<20:
        txt.delete(1.0,END)
        txt.insert(1.0,txtlist[i].replace("<span>","").replace("</span>","").replace("</br>","").replace("\n","").replace("<br/>",""))
        i+=1
        global i
        global page
        global txtlist
    else:
        i=0

def main():
    root=Tk()   # 定義一個窗口
    root.title("Corleone") # 定義窗口標題
    root.geometry('500x500')  # 定義窗口大小
    b=Button(root,text="next",width=25,bg="red",command=get)  # 定義一個按鈕
    b.pack(side=BOTTOM)  # 按鈕的布局 放在窗口最下面
    global txt
    txt=Text(root,font=(u"黑體",20)) # 定義一個編輯界面
    txt.pack(expand=YES,fill=BOTH)  # 編輯界面布局 隨窗口大小而自動改變
    root.mainloop()   # 讓窗口一直在屏幕上顯示出來 


main()

 

這里用到了Python自帶的圖形化界面庫 Tkinter 來做gui界面。一頁大概20個段子 next 按鈕 下一個 看完了 就翻頁。

 

 

 

嘿嘿,這樣就能直接看了。OK 好了  這篇文章也很簡單,沒啥技術含量,莫見怪,代碼都是我之前寫的,現在依然能用,就發出來了 : )

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM