前言:有時候無聊看一些搞笑的段子,糗事百科還是個不錯的**,所以就想用python來玩一下。也比較簡單,就寫出來分享一下。嘿嘿
環境:python 2.7 + win7
一般像這種都是文字的話,檢視源**就可以看到內容了。
已經可以看到都是在乙個class 為content 的div裡面,這樣就很簡單了,直接上正規表示式來匹配就好了。
class="這樣等會再**裡面就可以提取出來段子內容了,再來看一下分頁。content
">(.*?)
分頁也很簡單,很有規律,直接接上頁數就行了。
ok 既然 都分析完了 那就直接上**。
#這裡用到了python自帶的圖形化介面庫 tkinter 來做gui介面。一頁大概20個段子 next 按鈕 下乙個 看完了 就翻頁。-*- coding: utf-8 -*-
#author : corleone
from tkinter import *
import
urllib2,re
defload(page):
url="
"+str(page)+"
/?s=4937798
"user_agent="
"headers=
res=urllib2.request(url,headers =headers)
html =urllib2.urlopen(res).read()
reg=re.compile(r'
(.*?)
',re.s)
duanzi=reg.findall(html)
return
duanzi
i=0page=1
defget():
if i==0:
txtlist=load(page)
page+=1
if i<20:
txt.delete(1.0,end)
txt.insert(1.0,txtlist[i].replace("
","").replace("
","").replace("
","").replace("
\n","").replace("
",""
)) i+=1
global
i
global
page
global
txtlist
else
: i=0
defmain():
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()
嘿嘿,這樣就能直接看了。ok 好了 這篇文章也很簡單,沒啥技術含量,莫見怪,**都是我之前寫的,現在依然能用,就發出來了 : )
python 爬取糗事百科
step 1 構建乙個提取糗事百科笑話的函式import urllib2 import urllib import re import thread import time import sys reload sys sys.setdefaultencoding utf 8 defgetpage p...
Python爬取糗事百科
一 引入模組 因為urlopen功能比較簡單,所以設定 ip需引入proxyhandler和build opener模組,ip的獲取可以上西祠 查詢 import re from urllib.request import request,build opener,proxyhandler base...
Python 爬取糗事百科
coding utf 8 import urllib2 import urllib import re class qiushi def init self self.page 1 從網頁獲取糗事 def getqiushis self,page url page 偽裝瀏覽器 user agent ...