Python爬虫实例爬取网站搞笑段子

众所周知,python是写爬虫的利器,今天作者用python写一个小爬虫爬下一个段子网站的众多段子。

目标段子网站为“http://ishuo.cn/”,我们先分析其下段子的所在子页的url特点,可以轻易发现发现为“http://ishuo.cn/subject/”+数字,

经过测试发现,该网站的反扒机制薄弱,可以轻易地爬遍其所有站点。

现在利用python的re及urllib库将其所有段子扒下

import sys
import re
import urllib
#返回html格式
def gethtml(url):
  page=urllib.urlopen(url)
  html=page.read()
  return html
def getmessage(html):
  p=re.compile(r'<div class="content">(.*)</div><script type="text/javascript">')
  #对段子内容进行正则匹配
  message=re.findall(p,html)#返回正则匹配的结果
  return message
fp=open('data.txt','w+')
#实际范围比1~7000要大,因为时间原因这里暂定为1~7000
for i in range(1,7000):
  i=str(i)
  web=gethtml('http://ishuo.cn/subject/'+i)
  #该网站段子的链接特点
  message=getmessage(web)
  message2=''.join(message)#将结果转换为字符串类型
  #message2=message2.decode('utf8','strict')
  message2=str(message2)
  print message2
  fp.writelines(message2+'\n')
  #将爬下的众多段子写入文件中
fp.close()

 data.txt收录了其中爬下段子的结果:

收录的部分结果如下:

【韩寒】明明下流的人,凑一起就叫上流社会?
日子过不下去的时候,我就得向钱看!只有当日子过滋润了,我才能够向前看!
某公司一群基层员工年底聚会,没有加薪没有升职连年终奖金都被取消了,打算借酒浇愁一回。有人带了瓶酒来,大家一看那酒的名字,眼泪就都扑簌簌地往下掉开了,还有人顿时抱头痛哭了一场。那酒的名字叫老白干。
【段子】群里听到的段子,太乐了:路上听到一大叔情绪激动地打电话:对!国足进3个球了!没错!是男足!没错没错!是和韩国比赛!什么?对方?对对对!对方也是男足!

一女士向闺蜜诉说,他结婚原因:他向我求婚,我说跟我结婚,没门!我还没发昏到那程度!后来,他就用石头把我碰昏了!我就傻了,死心塌地跟他结婚了!闺蜜说:你不告他,反而跟他结婚,真是发昏了!他用什么石头碰的你呀?女士说:他用钻石!
【冷笑话】一男子提着一个皮包,挤上了公共汽车,车上人拥挤,一小偷用刀片割其皮包,窃其财物。一勇敢女子见状偷偷的提醒身边的男士,但由于紧张,说道:“先生,有人要割你的包皮”……
【段子】外交部工作:周一表示不满;周二抗议;周三强烈谴责;周四严正交涉;周五深表遗憾。周六、周日休息。
经考证孔子是经济学家,有其语为证: 三十而立--三十两银子只能站着听课; 四十不惑--四十两就能一直问到没疑问为止; 五十知天命--五十两就能知道明天考试命题; 六十耳顺--六十两老师会说你喜欢听的话,七十而从心所欲-七十两你来不来、学习的怎么样都随便了。
班车上,坐在身边的一位美女同事睡着了,竟然打起呼噜,觉得这样很丢脸,就用手轻推她,只见她喃喃的说:不要了老公,明天吧。
【太尖锐】蒙古国是个纯内陆国,却有个海军部。中国老大哥很好奇地问:”你们连海都没有,搞什么海军部!?”蒙古人回答道:”你们不也有文化部么?!”
一女程序员征婚:SELECT * FROM 男人 WHERE 未婚=true and 有房=true and 有车=true and 条件 in (‘大方',\'绅士',\'会做家务\',\'帅气\',\'最好还能带孩子') 一资深的程序员回复:(0 row(s) affected)
【小笑话】孔子,孟子,老子三人同时在猪圈睡了一夜之后,发现母猪怀孕了,经DNA检验证明,肯定不是孔子干的,也不是孟子干的,请问,那是谁干的?
【冷笑话】一妓深夜应召,路遇巡警,巡警大喝:谁?干什么的?女回应:妓者!巡警肃然起敬,柔和问道:那个报社的?女答:“和男晚抱”!大笑而去!
无聊的最高境界是什么?摆渡结果如下: 1、对着镜子,数自己的头发; 2、拿着剃刀等胡子长出来; 3、跟正吸你血的蚊子聊天; 4、看着天花板上的污渍,把它想成山水画; 5、给N年以前的报纸校对错别字; 6、喝一大杯水,然后坐到马桶上去等着。
【经典语录】当我要找我崇拜的人的时候,我就照镜子。 —— 李敖
看过冬奥会冰壶比赛后,一大妈逢人便说:“你看这外国奥运会的志愿者就是不一般啊,擦地每一个都擦得那么认真……”
【胡歌】我眼中的世界从未如此纯净 我的左手边是一面雪白的墙 我的右手边是一面和左手边一样的墙 我的前边有一扇门 从那里出去可以看到更多白花花的墙 虽然已是午夜时分 窗外却分外敞亮 我后边的万家灯火足以照亮此时白白的墙 我是不是疯了?
【冷笑话】:单位有个同事,蒙古人,属于常魂游天外的大神级人物。一年休假回家,假期过了好几天还不回来,领导给打电话,丫在电话里说:领导,我还在呼伦贝尔草原上骑马找我家呢,我家是游牧民族,现在不知道搬到哪里了。#搞笑#
【地名简述】一次历史考试,有一道题是让同学们任选十个国家或地区,并加以简述。 一个学生是这样答的:从前有个柬埔寨,里面有个阿拉伯。一天,他带着墨西哥去爬山,爬到新加坡时,突然来了只头上长着好望角的巴拿马,吓出一身阿富汗,拔腿跑进名古屋急忙关也门,结果碰掉了一颗葡萄牙。
【幽默说婆媳】为什么天底下最难搞的关系是婆媳关系?1.媳妇的别称是“新娘”,一个新的娘突然来到家里,旧的娘心里能好受吗?2.婆婆用了五年的时间教会儿子穿衣服,媳妇用不到五秒钟就能让儿子把衣服脱光,这是一种怎样的心理落差?
在一个泼水节上,大家都开心疯狂的相互泼水,突然有一个人破口大骂:“他妈的,谁在泼我”。旁边的人说他,你干嘛骂人啊,人泼你是对你的祝福啊!这个人气急败坏的说:你知道什么?哪个王八蛋是用开水在泼我!
1、一定要把多余的房子卖掉,#地震#来了才知道,原来不动产也是会动的,而且动起来吓死人。 2、余震就象打麻将,如果半天没什么动静,就绝对是在整大的! 3、看余震的心情就象初恋少女看情人,既怕他不来又怕他乱来!
【冷笑话】1.一居室,求合租,面议。2.小事招魂,大事挖坟。3.我觉得我还可以抢救一下!4.提供鞭尸服务,一次100!5.基因重组中,请稍候二十年6.单挑冥王哈迪斯中,征求组队!7.当你看清这行字的时候:朋友,你踩到我了。8.老子终于不用怕鬼了!9.给爷笑一个,要不爷给你笑一个?
局长发短信给女秘书:想死你了,在国际酒店1203号房,快来!却不小心按了群发键。片刻,回复分至。女秘书:德性,干嘛猴急!女科长:领导,今天不方便,改天吧!男副局长:不知道你也是同志啊?女部下:马上到!对门王姐:今天老公在家,明天行吗?女副局长:你才想起我呀?老婆:回来啊!还浪费那钱!
爱情和婚姻就像老黑熊掰玉米棒子,不要指望你能掰到最大和最好的,要挑自己最喜欢最满意的掰一个,掰到了就不要在去在掰了。要不然就会掰来掰去掰了个最小的最不喜欢的回来。
【小偷也幽默】相对两户人家,一户防盗门,一户普通木门。一天,防盗门这家失窃,发现#小偷#在普通木门门口留下了纸条:你相信我,我也相信你。
[强人语录]:世界上最远的距离.不是生与死.而是我在电信你在网通
世界上最远的距离,不是树与树的距离,而是同根生长的树枝,却无法在风中相依。(~ o ~)~zZ
世界上最远的距离是啥?是两个人到了边境,你过去了,我护照忘带了。。
温总理语录:“一个人不管有多聪明,多能干,背景条件有多好,如果不懂得如何去做人、做事,那么他最终的结局肯定是失败。做人做事是一门艺术,更是一门学问。很多人之所以一辈子都碌碌无为,那是因为他活了一辈子都没有弄明白该怎样去做人做事。”
【极品冷笑话】:刘若英向周杰伦求婚,居然遭拒!!!周董深情地说:“奶茶,我更喜欢优乐美!”
你知道哪两种水果居然有手机?--“萝卜青菜,各有索爱。”
糗事百科:“我站起身来给一孕妇让座,她疑惑地看了看我,忽然明白过来,哭笑不得道:同学,我这是胖!”
有些事,我们总是弄不懂;有些人,我们总是猜不透;有些道,我们总是悟不尽;有些理,我们总是想不通;有些坎,我们总是跨不过;有些伤,我们总是治不好;有些天,我们总是睡不着;有些地,我们总是去不了;有些情,我们总是说不出;有些爱,我们总是得不到。------人生十大困惑
六岁的小孩第一次观赏电视里的芭蕾舞,看到台上演员们踮著脚尖急转时,他禁不住问他的父亲:「他们为什麽不选些高个的女孩来跳呢?」
爱情就像白米饭,浪漫过程就像菜。人饿时,会想着吃饭。但吃完后,更多人喜欢去评论菜好不好吃,而忽略白米饭。
用别人的智慧充实自己,不用别人的智慧贬低自己;用别人的成功激励自己,不用别人的成功折磨自己;用别人的错误提醒自己,不用别人的错误娱乐自己。
【老婆和情人的差别】老婆会告诉男人青菜多少钱一斤,情人会告诉男人夜空有多少颗星星。
【我可以等】狱吏问一个即将被处死的罪犯早餐想吃什么?罪犯说:我想吃桃子。狱吏:你知道,现在是冬天,哪有桃子!罪犯说:没关系,我可以等。

  爬下的段子为编写如聊天机器人、公众号、段子发布点提供了丰富素材。

总结

以上就是本文关于Python爬虫实例爬取网站搞笑段子的全部内容,希望对大家有所帮助,感兴趣的朋友可以继续参阅本站:Python入门之三角函数全解【收藏】、python好玩的项目—色情图片识别代码分享、Python实现一个简单的验证码程序等,有什么问题可以随时留言,小编会及时回复大家的。

感谢朋友们对本站的支持!

时间: 2017-11-07

Python实现一个简单的验证码程序

老师讲完random函数,自己写的,虽然和老师示例的不那么美观,智能,但是也自己想出来的,所以记录一下,代码就需要自己不断的自己练习,实战,才能提高啊!不然就像我们这些大部分靠自学的人,何时能学会.还有就是,这次听老师的,把自己的代码添加注释,所以这次把很简单的代码都写上了注释,而且很大白话,不管有没有接触过python的,我相信仔细看了,肯定能看懂.如果看完,再自己尝试着默写出来,那就是更好到了,好了进入正题: 自己写的: __Author__ = "Zhang Peng" impo

python实现人脸识别代码

从实时视频流中识别出人脸区域,从原理上看,其依然属于机器学习的领域之一,本质上与谷歌利用深度学习识别出猫没有什么区别.程序通过大量的人脸图片数据进行训练,利用数学算法建立建立可靠的人脸特征模型,如此即可识别出人脸.幸运的是,这些工作OpenCV已经帮我们做了,我们只需调用对应的API函数即可,先给出代码: #-*- coding: utf-8 -*- import cv2 import sys from PIL import Image def CatchUsbVideo(window_name

python中numpy.zeros(np.zeros)的使用方法

翻译: 用法:zeros(shape, dtype=float, order='C') 返回:返回来一个给定形状和类型的用0填充的数组: 参数:shape:形状 dtype:数据类型,可选参数,默认numpy.float64 dtype类型: t ,位域,如t4代表4位 b,布尔值,true or false i,整数,如i8(64位) u,无符号整数,u8(64位) f,浮点数,f8(64位) c,浮点负数, o,对象, s,a,字符串,s24 u,unicode,u24 order:可选参数

python基础练习之几个简单的游戏

文档介绍 利用python写"猜数字","猜词语","谁是卧底"这三个游戏,从而快速掌握python编程的入门知识,包括python语法/列表/元组/字典/流程控制/库函数等等. 环境参数 linux平台,python3.4.需要在linux中把python3.4编译一下,这样编写python程序时保存为.py格式的文件并添加执行权限再终端运行即可(原理跟shell脚本相同),非常方便. ps:贴出来的python程序代码在windows中也兼容

python好玩的项目—色情图片识别代码分享

一.实验简介 本实验将使用 Python3 去识别图片是否为色情图片,我们会使用到 PIL 这个图像处理库,会编写算法来划分图像的皮肤区域 1.1. 知识点 Python 3 的模块的安装 Python 3 基础知识 肤色像素检测与皮肤区域划分算法 Pillow模块的使用 argparse 模块的使用 1.2. 效果展示 二.实验步骤 2.1. 安装包 PIL 2009年之后就没有更新了,也不支持 Python3 ,于是有了 Alex Clark 领导的公益项目 Pillow,Pillow 是一

Python基础练习之用户登录实现代码分享

python版本为python3.5 1.要求 1)输入用户名密码 2)认证成功后显示欢迎信息 3)输错三次后锁定 2.需求分析 1)用户信息存储在文件中(login/config/user_login.txt) 2)用户输入用户名和密码 3)判断用户名是否存在,存在则继续,不存在则提示继续输入 4)判断输入的用户名是否已经被锁定,如果已锁定则退出程序,否则继续 5)匹配文件中的用户信息 6)如果匹配则打印出欢迎信息 7)如果输入3次密码错误,则锁定该用户名(login/config/name_

易语言调用百度api识别是否为色情图片的代码

调用百度云色情图片识别的代码 此功能需要加载精易模块5.6 .版本 2 .支持库 spec .程序集 窗口程序集_启动窗口 .子程序 _识别按钮_被单击 百度云色情识别 () .子程序 百度云色情识别 .局部变量 类_XMLHTTP, 类_XMLHTTP .局部变量 Accesss_token, 文本型 .局部变量 str, 文本型 Accesss_token = GetAccesss_token () 类_XMLHTTP.打开 ("POST", "https://aip.b

python+opencv实现的简单人脸识别代码示例

# 源码如下: #!/usr/bin/env python #coding=utf-8 import os from PIL import Image, ImageDraw import cv def detect_object(image): '''检测图片,获取人脸在图片中的坐标''' grayscale = cv.CreateImage((image.width, image.height), 8, 1) cv.CvtColor(image, grayscale, cv.CV_BGR2GR

python+matplotlib实现动态绘制图片实例代码(交互式绘图)

本文研究的主要是python+matplotlib实现动态绘制图片(交互式绘图)的相关内容,具体介绍和实现代码如下所示. 最近在研究动态障碍物避障算法,在Python语言进行算法仿真时需要实时显示障碍物和运动物的当前位置和轨迹,利用Anaconda的Python打包集合,在Spyder中使用Python3.5语言和matplotlib实现路径的动态显示和交互式绘图(和Matlab功能类似). Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统

Python中顺序表的实现简单代码分享

顺序表python版的实现(部分功能未实现) 结果展示: 代码示例: #!/usr/bin/env python # -*- coding:utf-8 -*- class SeqList(object): def __init__(self, max=8): self.max = max #创建默认为8 self.num = 0 self.date = [None] * self.max #list()会默认创建八个元素大小的列表,num=0,并有链接关系 #用list实现list有些荒谬,全当

Python列表删除的三种方法代码分享

1.使用del语句删除元素 >>> i1 = ["a",'b','c','d'] >>> del i1[0] >>> print(i1) ['b', 'c', 'd'] >>> del语句将值从列表中删除后,就再也无法访问它了. 2.使用pop()删除元素 pop()可删除列表末尾的元素,并让你能够接着使用它.食欲弹出(pop)源自这样的类比:列表就是一个栈,而删除列表末尾的元素相当于弹出栈顶元素. >>

python实现发送带附件的邮件代码分享

具体代码如下: from django.template import loader from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.header import Header import smtplib import traceback class SendEmail(object):     """     发送html邮件    

C#二维码图片识别代码

本文实例为大家分享了C#二维码图片识别的具体代码,供大家参考,具体内容如下 怎么用NuGet和怎么配置log4net就不介绍了,直接上代码(Visual Studio 2015 下的项目,用的.NET Framework 4.5.2). 其中QRDecodeConsoleApp.exe.config文件里配置图片路劲(默认为D:\我的文档\Pictures\二维码).图片类型(默认为*.png). 也支持在命令行里执行,exe后接图片路劲参数. 需要直接用的朋友,确认完QRDecodeDemo\

python爬虫入门教程之点点美女图片爬虫代码分享

继续鼓捣爬虫,今天贴出一个代码,爬取点点网「美女」标签下的图片,原图. # -*- coding: utf-8 -*- #--------------------------------------- # 程序:点点美女图片爬虫 # 版本:0.2 # 作者:zippera # 日期:2013-07-26 # 语言:Python 2.7 # 说明:能设置下载的页数 #--------------------------------------- import urllib2 import urll