Я пытаюсь создать облако слов на основе записанного текста с определенного веб-сайта. Проблема, с которой я столкнулся, связана с этимЯ пытался двумя разными способами, и обе попытки я застрял на том, как действовать дальше.
Первый метод: скопируйте данные для каждого конкретного тега в отдельный фрейм данных
main_content= soup.find("div", attrs= {"class" : "col-md-4"})
main_content2= soup.find("article", attrs= {"class" : "col-lg-7 mid_info"})
comp_service= soup.find("div", attrs= {"class" : "col-md-6 col-lg-4"})
Здесь я застрял на том, как добавить три фрейма данных вместе, чтобы создать облако слов,Это прекрасно работает, если я использую только один из DF и добавляю его в «списки», но я не уверен, как добавить два других в один DF, чтобы затем запустить остальную часть кода. Ниже приведен остаток кода для зелья облака слова:
str = ""
for list in lists:
info= list.text
str+=info
mask = np.array(Image.open("Desktop/big.png"))
color= ImageColorGenerator(mask)
wordcloud = WordCloud(width=1200, height=1000,
max_words=400,mask=mask,
stopwords=STOPWORDS,
background_color="white",
random_state=42).generate(str)
plt.imshow(wordcloud.recolor(color_func=color),interpolation="bilinear")
plt.axis("off")
plt.show()
Попытка 2 Я нашел кусок кода, который извлечет все данные из определенных тегов и поместит их в текст
i = 0
for lists in soup.find_all(['article','div']):
print (lists.text)
Однако, когда я пытаюсь запустить остальную часть кода,
mask = np.array(Image.open("Desktop/big.png"))
color= ImageColorGenerator(mask)
wordcloud = WordCloud(width=1200, height=1000,
max_words=400,mask=mask,
stopwords=STOPWORDS,
background_color="white",
random_state=42).generate(str)
plt.imshow(wordcloud.recolor(color_func=color),interpolation="bilinear")
plt.axis("off")
plt.show()
я получаю 'ValueError: нам нужно как минимум 1 слово для построения облака слов, получено 0.'после запуска кода wordcloud DF.
По сути, я просто пытаюсь извлечь все данные с веб-сайта, сохранить эту информацию в текстовом файле, а затем преобразовать эти данные в облако слов.
Пожалуйста, дайте мне знать о любых предложениях или разъяснениях, которые я могу предоставить.
Спасибо.