关于Python利用爬虫给朋友讲笑话

本文介绍了如何使用Python爬虫从http://www.haha365.com/joke/index_7.htm网站抓取笑话内容。通过分析网页源码,利用正则表达式筛选出笑话的标题和时间。程序运行时,用户可以输入520退出。要将.py文件转化为.exe可执行文件,可以参考作者的上一篇博客,并注意在使用pyinstaller打包时不加-w选项。
摘要由CSDN通过智能技术生成

import urllib.request
import random,re

print('''
hi !
我现在心里想了三个数字
你写出来我就说笑话给你听呀
------------------------阿也-----------------------
''')
def speak():
    lis = ['还能做朋友吗?','你真的在乎我?','这都猜不出来?','很难吗?','666','呵呵','你在开玩笑吗?','我已经绝望了','Are you kidding?','真笨','无敌笨','竟无语凝噎','你怕是找打哦']
    print('------------------'+lis[random.randint(0,len(lis)-1)]+'------------------')
#   speak()方法主要是用来打印对面输错我们心里所想的数字后的输出内容
count = 1
entry = input('你想的数字是:')

while entry != '520':
    speak()
    entry = input('你想的数字是:')
    count = count+1
#   如果说对面一直不写520,那么就会一直要他继续写,并且打印spaek里面一些俏皮的话

if count == 1:
    print('我也爱你')
elif count <= 5:
    print('还行吧,才猜了%d次就猜出来了' %count)
else:
    print('有点小失落,你居然猜了%d次才猜出来' %count)
#   这里主要就是统计一下用户一共猜了几次并且根据猜的次数输出不同的内容

print('------------------阿也----------------')
print('好吧,开始跟你讲笑话吧,希望你能喜欢!')
print('-----------------阿也-------------------')

urlbasic = 'http://www.haha365.com/joke/index_'
#   所需要爬取得网页的url前面一部分是不会变的,单独拿出来是基础url
entry2 = '1'
number = 0
#   这里while循环是保证用户只要输入的不是520那么就会给用户发送笑话
while entry2 != '520':

    index = random.randint(1, 4005)
    #   这里弄随机数为什么是4005,因为分析源码我们发现这个网页是4005页,
    url = urlbasic+'%d.htm' %index
    #   这里将得到的随机数加到基础url上形成完整的url用来爬取
    req = urllib.request.Request(url)
    res = urllib.request.urlopen(req)
    html = res.read().decode('gbk')
    #   这里decode('gbk')是因为查看网页源码发现是gbk编码的
    #print(html)
    titleRe = '<h3><A href=".*?">(.*
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值