Python爬取分析全网最硬核粽子(附源码)

简介: 说到粽子,想必大家都是会想起这些普通的粽子,即使再有南北差异大家也见怪不怪了但有种硬核粽子的味道在行哥的记忆里一直不能忘怀,那就是《盗墓笔记》里的粽子。这种粽子最好需要黑驴蹄子来搭配食用更加美味哦


image.png

说到粽子,想必大家都是会想起这些普通的粽子,即使再有南北差异大家也见怪不怪了

但有种硬核粽子的味道在行哥的记忆里一直不能忘怀,那就是《盗墓笔记》里的粽子。这种粽子最好需要黑驴蹄子来搭配食用更加美味哦

本文行哥爬取了整本的《盗墓笔记》来分析一下粽子的口味到底有多奇特

1.代码爬取

本文将通过小说网站http://www.daomubiji.com/来爬取整本盗墓笔记并保存,在这一过程中使用python网络库requests实现简单的python爬虫以及使用html文档分析库BeautifulSoup分析

网页爬取代码如下,可以复制粘贴直接运行

# 公众号:一行数据
from bs4 import BeautifulSoup
import requests
import re
# 获取每本书的链接
def get_book_urls(url):
    book_urls = []
    index = requests.get("http://www.daomubiji.com/")
    soup = BeautifulSoup(index.content.decode("utf8"), 'lxml')
    articles = soup.find_all("article", class_='article-content')
    for article in articles:
        links = article.find_all('a', href=re.compile("dao-mu-bi-ji"))
        for link in links:
            book_urls.append(link["href"])
    return book_urls
# 获取每章的链接
def get_chapter_urls(url):
    chapter_urls = []
    page = requests.get(url)
    soup = BeautifulSoup(page.content.decode("utf8"), "lxml")
    articles = soup.find_all("article", class_="excerpt excerpt-c3")
    for article in articles:
        chapter_urls.append(article.a["href"])
    return chapter_urls
# 获取每章的内容
def get_content(url):
    content = ""
    page = requests.get(url)
    soup = BeautifulSoup(page.content.decode("utf8"), "lxml")
    title = soup.find_all("h1", class_="article-title")[0].string
    content += ("\n" + title + "\n\n")
    articles = soup.find_all("article", class_="article-content")
    for article in articles:
        ps = article.find_all('p')
        for p in ps:
            for string in p.strings:
                content = content + string + "\n"
    return content
# 获取全本《盗墓笔记》并保存到文件
def get_article(url):
    print(1)
    book_urls = get_book_urls(url)
    print(1)
    chapter_urls = []
    for url in book_urls:
        print(1)
        # url = "http://www.daomubiji.com/dao-mu-bi-ji-2"
        chapter_urls.extend(get_chapter_urls(url))
    print(chapter_urls)
    result = ""
    for chapter_url in chapter_urls:
        content = get_content(chapter_url)
        result += content
        print(content)
    with open("daomubiji.txt", "a") as f:
        f.write(result.encode("utf8"))
get_article("http://www.daomubiji.com/")

2.粽子分析

依稀记得书中的粽子种类繁多

   大粽子:厉害的僵尸、恶鬼之类的东西

   老粽子:可发生尸变的不好对付的僵尸

   干粽子:是指墓里的尸体烂得只剩下一堆白骨了。

   肉粽子:是指尸体身上值钱的东西多。

   血粽子:血尸墓中的粽子,最厉害。

   霉粽子:是指具有尸毒的尸体。

   女粽子:女尸尸化后的粽子,比普通粽子更厉害

这里把前三本书中出现“粽子”的每句话给提取出来,并生成一张词云图来展示一下粽子的味道,可以看到四字的拆分比两字拆分描述得更深刻一些image.pngimage.png

4字分词

代码如下:

import jieba
from wordcloud import WordCloud,ImageColorGenerator
from matplotlib import pyplot as plt
from PIL import Image
import numpy as np
with open('zongzi','r',encoding="UTF-8") as file1:
    content = "".join(file1.readlines())
content_after = "/".join(word for word in jieba.cut(content, cut_all=True) if len(word) <= 3)
print(content_after)
##添加的代码,把刚刚你保存好的图片用Image方法打开,
##然后用numpy转换了一下
images = Image.open("zongzi2.jpg")
maskImages = np.array(images)
# ##修改了一下wordCloud参数,就是把这些数据整理成一个形状,
# ##具体的形状会适应你的图片的.
wc = WordCloud(font_path="/Library/Fonts/Songti.ttc",background_color="black",max_words=1000,max_font_size=100,width=1500,height=1500,mask=maskImages).generate(content_after )
plt.imshow(wc)
wc.to_file('wolfcodeTarget3.png')

3.最后

在这里祝大家粽子节快乐


相关文章
|
19天前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
18天前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。
|
18天前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
2月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
325 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
2月前
|
JSON 缓存 供应链
电子元件 item_search - 按关键字搜索商品接口深度分析及 Python 实现
本文深入解析电子元件item_search接口的设计逻辑与Python实现,涵盖参数化筛选、技术指标匹配、供应链属性过滤及替代型号推荐等核心功能,助力高效精准的电子元器件搜索与采购决策。
|
Linux C语言 开发者
源码安装Python学会有用还能装逼 | 解决各种坑
相信朋友们都看过这个零基础学习Python的开篇了
704 0
源码安装Python学会有用还能装逼 | 解决各种坑
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
242 102

推荐镜像

更多