【问题标题】:Webscraping an entire website pandas word cloudWebscraping 整个网站熊猫词云
【发布时间】:2020-03-16 21:14:53
【问题描述】:

我正在尝试根据来自特定网站的 抓取 文本创建一个 wordcloud。我遇到的问题是网络抓取部分。我尝试了两种不同的方法,但两种尝试都让我陷入了如何继续前进的困境。

第一种方法: 抓取每个特定标签的数据到它自己的数据框中

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 代码后。

我实际上只是想从网站中提取所有数据,将这些信息存储到一个文本文件中,然后将这些数据转换成一个词云。

请让我知道我可以提供的任何建议或说明。

谢谢。

【问题讨论】:

    标签: python pandas web-scraping jupyter-notebook word-cloud


    【解决方案1】:

    这最终对我有用

    lists = soup.find_all(['article','div'])
    str = ""
    for list in lists:
        info= list.text
        str+=info
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-13
      • 2023-03-31
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多