前言:有时候无聊看一些搞笑的段子,糗事百科还是个不错的网站,所以就想用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 好了  这篇文章也很简单,没啥技术含量,莫见怪,代码都是我之前写的,现在依然能用,就发出来了 : )

python 爬取糗事百科 gui小程序的更多相关文章

  1. python爬取糗事百科段子

    初步爬取糗事百科第一页段子(发布人,发布内容,好笑数和评论数) #-*-coding:utf--*- import urllib import urllib2 import re page = url ...

  2. Python爬取糗事百科

    import urllib import urllib.request from bs4 import BeautifulSoup """     1.抓取糗事百科所有纯 ...

  3. Python爬取糗事百科示例代码

    参考链接:http://python.jobbole.com/81351/#comment-93968 主要参考自伯乐在线的内容,但是该链接博客下的源码部分的正则表达式部分应该是有问题,试了好几次,没 ...

  4. 8.Python爬虫实战一之爬取糗事百科段子

    大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧.那么这次为大家带来,Python爬取糗事百科的小段子的例子. 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把 ...

  5. Python爬虫实战一之爬取糗事百科段子

    大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧.那么这次为大家带来,Python爬取糗事百科的小段子的例子. 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把 ...

  6. 转 Python爬虫实战一之爬取糗事百科段子

    静觅 » Python爬虫实战一之爬取糗事百科段子 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致 ...

  7. python网络爬虫--简单爬取糗事百科

    刚开始学习python爬虫,写了一个简单python程序爬取糗事百科. 具体步骤是这样的:首先查看糗事百科的url:http://www.qiushibaike.com/8hr/page/2/?s=4 ...

  8. python爬虫之爬取糗事百科并将爬取内容保存至Excel中

    本篇博文为使用python爬虫爬取糗事百科content并将爬取内容存入excel中保存·. 实验环境:Windows10   代码编辑工具:pycharm 使用selenium(自动化测试工具)+p ...

  9. [爬虫]用python的requests模块爬取糗事百科段子

    虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更 ...

随机推荐

  1. Tomcat xxx unbound

    从别的地方import的代码 .出现apache unbound 第一步:选中项目右键Build Path->Configure Build Path-->选中Tomcat 7.0 unb ...

  2. 基础知识全面LINUX

    学习Linux系统的重要性应该不用多说,下面我就对Linux的基础知识进行一个全面而又简单的总结.不过建议大家还是装个Linux系统多练习,平时最好只在Linux环境下编程,这样会大有提高. linu ...

  3. 在VMware中安装ubuntu

    如果想在自己设置它的属性,比如时区,语言支持之类的,在开机时按[enter], 否则就是默认的设置了,英文语言,而且还不好调.

  4. malloc,calloc,realloc,alloc

    三个函数的申明分别是: void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(si ...

  5. 创建github仓库的gh-pages分支

    用git symbolic-ref命令将当前工作分支由master切换到一个尚不存在的分支gh-pages. $ git symbolic-ref HEAD refs/heads/gh-pages 删 ...

  6. CentOS下mysql数据库data目录迁移和配置优化

    目录迁移 关闭数据库服务 service mysqld stop 复制数据库 mv /var/lib/mysql /data/mysql # 或者使用cp -a复制 # 这两个命令都会带权限到新目录去 ...

  7. POJ1743 Musical Theme [后缀自动机]

    题意:不重叠最长重复子串 后缀数组做法:http://www.cnblogs.com/candy99/p/6227659.html 后缀自动机的话,首先|Right|>=2 然后min(t[u] ...

  8. 阶段小项目1:循环间隔1秒lcd显示红绿蓝

    #include<stdlib.h>#include<stdio.h>#include<string.h>#include<error.h>#inclu ...

  9. a:hover 等伪类选择器

    a.random:hover{ color:#64FFDA; font-size:120%; }   //选择的是class="random"的<a>标签.   a#s ...

  10. 关于在jsp中的路径问题

    前言: jsp作为javaweb开发中常见的视图技术,我们平时在开发项目使用的过程中,经常会导入一些静态资源,比如css\js\jpg.png等图片格式的文件,这些文件的路径成了问题,经常会出现索引不 ...