Python explore tout le texte du réseau et l'analyse du nuage de mots (un seul clic tout le processus!)

Présentation du prospect

Python est très chaud récemment, il fait vraiment chaud, il semble avoir été chaud tout le temps, hahahaha. Si vous pensez également qu'il est très populaire, veuillez terminer cet article et voir si la popularité de Python peut rendre cet article populaire.

Alors, en tant qu'étoile montante du langage de programmation - Python, que peut-il faire? Python a été "hyped" sur Internet: un seul clic de bureau, apprenez bien Python, doublez votre salaire, gagnez un peu plus d'argent et gagnez votre patron Regardez-vous avec admiration et laissez-vous désormais prendre confiance! Ce n'est ni flatterie ni exagération. Du cloud computing, du big data à l'intelligence artificielle, Python est partout. Une série de grandes entreprises telles que Baidu, Alibaba et Tencent utilisent Python pour effectuer diverses tâches, rendant Python de plus en plus ancré, et ses fonctions n'ont pas besoin de moi. Cela dit, je ne répéterai plus ses avantages et ses fonctionnalités.Après tout, cet article est un article technique, pas grand chose à dire, faisons-le!

Si vous êtes un groupe de recherche scientifique, veuillez terminer la lecture de l'article! Il y a une surprise à la fin de l'article!

Cliquez ici pour télécharger le code source et l'exécuter directement

Description du projet

J'ai récemment reçu un message privé d'un petit fan sur CSDN, disant qu'un article précédent Python explorait des romans de sites Web et des analyses visualisées , ce site Web était relativement bon, disait que je voulais tous les livres de ce site Web, prends-le et étudie-le moi-même. Par souci pour les fans, et j'aime personnellement les œuvres littéraires, il n'est pas impossible de lire un livre pour cultiver mon sentiment dans mon temps libre ennuyeux, hahaha. Après avoir reçu la demande, j'ai immédiatement lancé l'idée d'architecture. J'ai trouvé ses caractéristiques en observant la structure de la page Web. Enfin, j'ai ajouté mes propres idées de conception, ajouté la fonction d'analyse de nuage de mots, et l'ai testée à plusieurs reprises, et finalement obtenu en un clic ! ! ! ! ! ! !

Idée de projet et introduction à la fonction

1. L'utilisateur entre le lien de la page Web de n'importe quel livre du site Web, entre le chemin de stockage et appuie sur Entrée, puis exécute le robot d'exploration en arrière-plan, puis exécute la segmentation de mots intelligente et utilise enfin la puissante bibliothèque de pyecharts pour afficher la carte du nuage de mots.

Insérez la description de l'image ici
2. Il y a tellement de livres, assez pour que vous puissiez les lire. Si vous ne voulez pas le lire, vous voulez savoir de quoi ce livre parle principalement et quels mots à haute fréquence apparaissent, ce qui vous aidera éventuellement à comprendre et à comprendre le contenu principal de cet article.

3. Ce projet s'appuie sur la bibliothèque d'analyse de données et la bibliothèque originale Python pour effectuer une segmentation de texte, une découpe intelligente, un algorithme de nuage de mots intelligent et un algorithme de robot d'exploration intelligent, avec une technologie d'écriture anti-escalade et des faits saillants d'analyse de données.

Réalisation de projet

1. Vous devez d'abord installer ces bibliothèques

Insérez la description de l'image ici
Si ce n'est pas le cas, veuillez lire cet article pour une introduction détaillée. Si vous ne comprenez pas, je vais l'installer pour vous! Il peut certainement être installé ~

2. Implémentez l'algorithme du robot d'exploration

Définir à l'avance les variables globales

from pyecharts import options as opts
from pyecharts.charts import WordCloud
from pyecharts.globals import SymbolType
import jieba  # jieba用于分词,中文字典及其强大
from fake_useragent import UserAgent
import requests
from lxml import etree
import time
ll = []
lg = []
lk = []
lj = []
lp = []
li = []
d = {
    
    }  # 定义好相应的存储变量

def get_data(title,page,url,num):#title代表文件路径 page代表爬取的章节数 url为修订后网址 num为标签页数
    with open(r"{}.txt".format(title), "w", encoding="utf-8") as file:
        ua = UserAgent()  # 解决了我们平时自己设置伪装头的繁琐,此库自动为我们弹出一个可用的模拟浏览器

        def get_page(url):
            headers = {
    
    "User-Agent": ua.random}
            res = requests.get(url=url, headers=headers)
            res.encoding = 'GBK'
            html = res.text
            html_ = etree.HTML(html)
            text = html_.xpath('//div[@class="panel-body content-body content-ext"]//text()')
            num = len(text)
            for s in range(num):
                file.write(text[s] + '\n')

        for i in range(page):
            # time.sleep(2)
            file.write("第{}章".format(i + 1))#写入文本数据
            get_page(url+"{}.html".format(num + i))#爬虫标签页移动,数据输出爬取过程
            print("正在爬取第{}章!".format(i + 1))
        print("爬取完毕!!!!")

3. Réaliser une segmentation intelligente des mots

J'ai écrit moi-même un algorithme de nuage de mots intelligent, comprenant la réalisation de diverses petites fonctions, le design n'est pas facile, je refuse de refuser la prostitution gratuite, si vous en avez besoin, vous pouvez m'envoyer un message privé ou le télécharger vous-même! ! !

4. Fonction principale

def main():
    try:
        print("\t\t本小程序只针对:<https://www.cz2che.com/>网址有效,里面有大量的古今中外名著小说!!!\n\n")
        print("C:\\Users\\48125\\Desktop\\")
        title = input("请输入储存文本的路径及名称如桌面:(C:\\Users\\48125\\Desktop\\文本)不需要加.txt!\n")
        urll  = str(input("请输入您要爬取的网站(请将键盘光标移动到网址前面在回车!):"))
        url   = str(urll[:urll.rindex('/') + 1])
        num   = int(urll[urll.rindex('/') + 1:len(urll) - 5])
        print(url,num)
        page  = int(input("请输入本次您要爬取的章节数:\n"))
        get_data(title,page,url,num)
        Open(title)
        print("\n分词完毕!")
        print('''\n\n\t\t一键词云算法生成器
        \t0--退出词云系统
        \t1--生成一词组的词云图
        \t2--生成二词组的词云图
        \t3--生成三词组的词云图
        \t4--生成四词组的词云图
        \t5--生成大于1词组的词云图(研究常用)
        \t6--生成全部词组的词云图(包含所有类型的词组)
        ''')
        num = int(input("请输入本次展示的词语数量(最好不超过100):"))
        data = sort()[:num]
        Str = input("请输入这个词云图的标题:")
        print("词云图已经生成完毕,请查收!")
        print("感谢您对本程序的使用,欢迎下次光临!!")
        c = (
            WordCloud()
                .add(
                "",
                data,  # 数据集
                word_size_range=[20, 100],  # 单词字体大小范围
                shape=SymbolType.DIAMOND)  # 词云图轮廓,有以下的轮廓选择,但是对于这个版本的好像只有在提示里面选
                # circl,cardioid,diamond,triangle-forward,triangle,start,pentagon
                .set_global_opts(title_opts=opts.TitleOpts(title="{}".format(Str)),
                                 toolbox_opts=opts.ToolboxOpts())  # 工具选项
                .render("{}词云制作{}词组.html".format(title, choice))
        )
        return c
    except:
        print("无法找到,请检查你的输入!")

Réalisation de projet

1. Entrez l'URL et le chemin d'enregistrement, ainsi que le nombre de chapitres à explorer.
Insérez la description de l'image ici2. Le robot d'exploration intelligent démarre

Insérez la description de l'image ici

Insérez la description de l'image ici

3. Algorithme intelligent sur

Insérez la description de l'image iciInsérez la description de l'image ici
4. Affichage des effets

Le bureau apparaît automatiquement, cliquez sur le HTML de la page web pour afficher le nuage de mots, et vous pouvez le télécharger vous-même. C'est la caractéristique de la bibliothèque pyecharts
Insérez la description de l'image iciInsérez la description de l'image ici
Insérez la description de l'image ici

Ça a l'air plutôt bien, je pense aussi que l'effet est correct, principalement parce que ce simple clic est trop facile pour moi, à l'avenir, je pourrai faire des interviews en ligne pour aider les chercheurs à faire des recherches sur la recherche scientifique, ainsi que sur divers sites Web de commerce électronique Pour résoudre l'évaluation du produit par le patron, ce simple clic peut nous aider à réduire le temps perdu, et bien sûr le patron l'appréciera aussi.

Source moi en privé! ! ! ! Le design n'est pas facile! ! !

Le développement de projets

J'ai également conçu une autre analyse en un clic de nuage de mots de la base de données du National Social Science Fund.

Le chouchou des bébés de la recherche scientifique, si vous en avez besoin, vous pouvez m'envoyer directement un message privé. Saisir votre direction de recherche est le choix le plus correct.
Insérez la description de l'image ici Ce programme comporte une fonction de décodage et de transcodage de page Web.
Insérez la description de l'image ici
Insérez la description de l'image iciInsérez la description de l'image iciInsérez la description de l'image ici

Les catégories d'entrée à l'intérieur peuvent être conçues par vous-même, et toutes les boîtes de saisie peuvent définir leurs propres conditions de filtre! ! ! !

Si vous êtes un groupe de recherche scientifique, ce serait dommage de ne pas le faire, hahahaha! ! ! ! ! !

Un mot par texte

L'avenir imprévisible est plein d'attentes

Je suppose que tu aimes

Origine blog.csdn.net/weixin_47723732/article/details/111937273
conseillé
Classement