DrissionPage爬虫做词云图
为了创建一个基于DrissionPage库的词云图,你需要先安装该库,并使用它来抓取指定页面的文本内容。然后,你可以使用jieba库进行中文分词,最后使用wordcloud库生成词云图。以下是一个简单的示例代码:
import asyncio
from drission_page import DrissionPage
from drission_page.utils.common_funcs import get_random_char_and_num
from PIL import Image
import numpy as np
from wordcloud import WordCloud
import jieba
import matplotlib.pyplot as plt
# 初始化DrissionPage
async def main():
dp = DrissionPage()
await dp.init_chromium()
# 目标网页URL
url = 'http://example.com'
# 获取网页文本内容
text = await dp.get_page_text(url)
# 使用jieba进行中文分词
wordlist = jieba.cut(text)
text = ' '.join(wordlist)
# 创建词云图
font = r'C:\Windows\Fonts\simfang.ttf' # 指定中文字体路径
color_mask = np.array(Image.open(r'C:\path\to\your\mask\image.png')) # 可以使用自定义图片作为遮罩
wordcloud = WordCloud(font_path=font, background_color="white", mask=color_mask, max_words=2000, max_font_size=100, random_state=42)
wordcloud.generate(text)
# 展示词云图
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
# 关闭浏览器
await dp.quit()
# 运行异步主函数
asyncio.run(main())
确保替换http://example.com
为你想要抓取的网页URL,并指定正确的中文字体路径和遮罩图片路径。
注意:以上代码示例仅用于演示如何使用DrissionPage和相关库生成词云图,并不包含错误处理和异常情况处理。在实际应用中,你需要添加更多的异常处理逻辑以确保代码的稳定性和容错性。
评论已关闭