美文网首页
Python获取幽默笑话大全

Python获取幽默笑话大全

作者: 爱写代码的小王子 | 来源:发表于2021-07-09 16:51 被阅读0次

前言:
本次我们需要爬取幽默笑话大全里的各种搞笑内容,当然还是使用上次我们提到的BeautifulSoup这个库,它的功能很强大,是本次爬取搞笑内容必不可少的工具。

接下来我们就爬取我们想要的内容吧,首先我们导入需要的库

import requests
from bs4 import BeautifulSoup

然后获取url地址页面内容,这里的headers是模拟浏览器来访问服务器,这里可以避免网页反爬取时报错

def download_page(url):
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0"}
    r = requests.get(url,headers=headers)
    return r.text

然后将获取的url地址页面内容传入BeautifulSoup,生成soup对象

 output = """第{}页 作者:{} 性别:{} 年龄:{} 点赞:{} 评论:{}\n{}\n------------\n"""
    soup = BeautifulSoup(html,'html.parser')

找到对应的标签获取作者姓名

con = soup.find(id='content-left')
    con_list = con.find_all('div',class_="article")
    for i in con_list:
        author = i.find('h2').string #获取作者名字

获取笑话的内容

 content = i.find('div',class_'content').find('span').get_text() #获取内容

然后获取评论和好笑数量

 stats = i.find('div',class_='stats')
        vote = stats.find('span',class_='stats-vote').find('i',class_='number').string
        comment = stats.find('span',class_='stats-comments').find('i',class_='number').string

最后获取作者年龄,性别

 author_info = i.find('div',class_='articleGender') #获取作者 年龄,性别
        if author_info is not None: #非匿名用户
            class_list = author_info['class']
            if "womenIcon" in class_list:
                gender = '女'
            elif "manIcon" in class_list:
                gender = '男'
            else:
                gender = ''
            age = author_info.string # 获取年龄
        else: # 匿名用户
            gender = ''
            age = ''
            
        save_text(output.format(page,author,gender,age,vote,commentent,contentent))

然后将我们爬取的内容保存到记事本

def save_text(*args):
    for i in args:
        with open('qiubai.txt','a',encoding='utf-8') as f:
            f.write(i)

最后在程序的入口调用我们对应的方法

def main():
    #我们点击下面链接,在页面下方可以看到共有13页,可以构造如下 url
    for i in range(1,14):
        url = 'https://qiushibaike.com/text/page/{}'.format(i)
        html = download_page(url)
        get_content(html,i)
        
if __name__ == '__main__':
    main()

总结:在本次学习中,同样遇到了一些问题,比如获取的内容为空报错,后来仔细检查才发现是代码写错了,以后需要更加细心,更加深入的学习。

相关文章

  • Python获取幽默笑话大全

    前言:本次我们需要爬取幽默笑话大全里的各种搞笑内容,当然还是使用上次我们提到的BeautifulSoup这个库,它...

  • 幽默笑话大全 API 接口

    幽默笑话大全 API 接口 提供全网最全的幽默笑话数据。 1. 产品功能 提供全网最全的幽默笑话数据; 每日定时更...

  • 经典幽默笑话大全

    1:一男子在闹市骑摩托撞昏了一个陌生的老汉! 男子惊吓的不知所措!围观群众越来越多!突然,该男抱住老汉,声泪俱下的...

  • 精选幽默笑话大全

    节日相关 清明节 五一劳动节 六一儿童节 端午节 教育学习 高考 上班工作 加班 安心攻略 · 精华文章汇总

  • 疫情幽默笑话段子大全

    疫情幽默笑话段子大全 新冠疫情把大家都困在家里,花了一整天的时间 整理了各种疫情幽默笑话段子,跟大家分享一下。 欢...

  • 爆笑经典幽默笑话大全

    试一分钟不到,当场就被录取了。 甲:今天去面试,一分钟不到,面试官就当场录取了我…… 乙:真的?这么厉害啊?你的专...

  • 庐山:10个有关庐山的搞笑幽默笑话

    庐山 · 攻略大全精选幽默笑话大全 清朝的时候,三个人一起去庐山玩。到了好运石,旁边的人说:这好运石男的用左手摸,...

  • Python-04

    参考 : 庞雪峰Python教程 Github-Python资源大全 Python中文资源大全 一、Python ...

  • Python-05

    参考 : 庞雪峰Python教程 Github-Python资源大全 Python中文资源大全 一、切片 直接上代...

  • Python-03

    第三天继续加油! 参考 : 庞雪峰Python教程 Github-Python资源大全 Python中文资源大全 ...

网友评论

      本文标题:Python获取幽默笑话大全

      本文链接:https://www.haomeiwen.com/subject/wgvfpltx.html