python 網頁爬取數據生成文字云圖

1. 需要的三個包:

from wordcloud import WordCloud        #詞云庫
import matplotlib.pyplot as plt        #數學繪圖庫
import jieba;

2. 定義變量(將對于的變量到一個全局的文件中):

import re;
pdurl_first='https://movie.douban.com/subject/26363254/comments?start=0'
head={'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/59.0.3071.109 Chrome/59.0.3071.109 Safari/537.36'}
reg=re.compile(r'<a href="(.*?)&amp;.*?class="next">') #下一頁
cookies={"__utma":"30149280.503249607.1504402391.1504402391.1504402391.1","_utmb":"30149280.2.9.1504402391","__utmc":"30149280","__utmt":"1","__utmz":"30149280.1504402391.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)","ap":"1","as":'"https://movie.douban.com/subject/26363254/comments?start=225&limit=20&sort=new_score&status=P"',"bid":"g7k4BGd2sRk","ck":"76vs","dbcl2":'"166279730:fohmXhoM9uU"',"ps":"y","push_doumail_num":"0","push_doumail_num":"0"}

3. 抓取數據

import requests;
import re;
from GrabData import Param;
import pandas as pd;
from bs4 import BeautifulSoup;class GrabComent:ren = re.compile(r'<span class="votes">(.*?)</span>.*?comment">.*?</span>.*?<span.*?class="">(.*?)</a>.*?<span>(.*?)</span>.*?title="(.*?)"></span>.*?title="(.*?)"><p .*? > (.*?)</p>',re.S)def __init__(self):print('開始抓取數據');html = requests.get(Param.pdurl_first, headers=Param.head, cookies=Param.cookies);while html.status_code == 200:url_next = 'https://movie.douban.com/subject/26363254/comments' + re.findall(Param.reg, html.text)[0]zhanlang = re.findall(self.ren, html.text)print(zhanlang)data = pd.DataFrame(zhanlang)data.to_csv('H:\\python_projects\\ticket\\zhanlangpinglun.csv', header=False, index=False,mode='a+')  # 寫入csv文件,'a+'是追加模式data = []zhanlang = []print("下一頁地址:"+url_next);html = requests.get(url_next, cookies=Param.cookies, headers=Param.head)if __name__ == '__main__':GrabComent();

?

4. 生成云圖

from wordcloud import WordCloud        #詞云庫
import matplotlib.pyplot as plt        #數學繪圖庫
import jieba;class WordYun:def __init__(self):print("開始讀取文件!");self.main();def main(self):text = self.readFile();self.showTitle(text);def showTitle(self,text1):wc1 = WordCloud(background_color="white",width=1000,height=860,font_path="D:\\Windows\\Fonts\\STFANGSO.ttf",  # 不加這一句顯示口字形亂碼margin=2);wc2 = wc1.generate(text1)  # 我們觀察到generate()接受一個Unicode的對象,所以之前要把文本處理成unicode類型
        plt.imshow(wc2)plt.axis("off")plt.show();def readFile(self):a = []f = open(r'H:\\python_projects\\ticket\\zhanlangpinglun.csv', 'r').read()words = list(jieba.cut(f))for word in words:if len(word) > 1:a.append(word);txt = r' '.join(a)print("readFile返回的結果:"+txt);return txt;if __name__ == '__main__':WordYun();

?

轉載于:https://www.cnblogs.com/wangshunyao/p/7534883.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251831.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251831.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251831.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python---重點(設計模式)

前戲&#xff1a;設計模式簡介 設計模式是面向對象設計的解決方案&#xff0c;是復用性程序設計的經驗總結。&#xff08;與語言無關&#xff0c;任何語言都可以實現設計模式&#xff09; 設計模式根據使用目的的不同而分為創建型模式&#xff08;Creational Pattern&#xff0…

洛谷 題解 P2010 【回文日期】

因為有8個字符&#xff0c;所以可得出每一年只有一個回文日期。 因此只要判斷每一年就行了。 做法&#xff1a; 我們先把年倒過來&#xff0c;例如2018年就倒為8102&#xff0c;就得出8102就是回文日期的后四個字符&#xff0c;我們只要判斷一下有沒有這個月份和這個日期。 具體…

線程相關

1、啟動線程1.11 new Handler()形式new Handler(mContext.getMainLooper()).post(newOnekeyBindFrameActivity.NetworkThread());1.12new Handler().postDelayed(new StatusCheckLoginBindFrameThread(), IoTCultivatePlantConfig.START_ACTIVITY_POST_DELAYED);1.2 new Thread…

驗證Oracle收集統計信息參數granularity數據分析的力度

最近在學習Oracle的統計信息這一塊&#xff0c;收集統計信息的方法如下&#xff1a; DBMS_STATS.GATHER_TABLE_STATS (ownname VARCHAR2, ---所有者名字tabname VARCHAR2, ---表名partname VARCHAR2 DEFAULT NULL, ---要分析的分區名estimate_percent NUMBER DEFAULT NULL, …

Python之NumPy(axis=0 與axis=1)區分

Python之NumPy&#xff08;axis0 與axis1&#xff09;區分 轉載于:https://www.cnblogs.com/greatljg/p/10802392.html

Python Web開發:開發wsgi中間件

本文參考了&#xff1a; github.com/alanctkc/ws…Youtube : Creating WSGI Middleware上篇文章簡要提到&#xff1a;wsgi 規范中的 app 是一個可調用對象&#xff0c;可以通過嵌套調用的方式實現中間件的功能。這篇文章就來親自動手實現一下。 此文的重點在于 app 端&#xff…

20165320 第九周學習總結

主要內容&#xff1a; 1.URL類 URL類是java.net包中的一個重要的類&#xff0c;使用URL創建對象的應用程序稱為客戶端程序。URL 的構造方法&#xff1a;try { URL url new URL ("http://www.google.com"); } catch (MalformedURLException e) {System.out.println(&…

Python 函數的執行流程-函數遞歸-匿名函數-生成器

1 函數的執行流程函數的執行需要對函數進行壓棧的&#xff0c;什么是壓棧呢&#xff0c;簡而言之就是在函數執行時在棧中創建棧幀存放需要變量以及指針的意思。具體涉及的知識非常多&#xff0c;這里就已一個Python腳本簡單進行分析。當我們運行上面代碼時&#xff0c;它的執行…

python 課堂筆記-for語句

for i in range(10):print("----------",i)for j in range(10):print("world",j)if j> 5:break 轉載于:https://www.cnblogs.com/leon-zyl/p/7542466.html

【2】信息的表示和處理

1.現代計算機存儲和處理的信息都以二值信號表示。 2.機器為什么要使用二進制進行存儲和處理&#xff1f; 答&#xff1a;二值信號能夠很容易的被表示、存儲、傳輸。例如&#xff1a; 可以表示為穿孔卡片上有洞和無洞、導線上的高壓和低壓&#xff0c;順逆時針的磁場。 3.大多數…

java版b2b2c社交電商spring cloud分布式微服務(二) 服務消費者(rest+ribbon)

一、ribbon簡介 Ribbon is a client side load balancer which gives you a lot of control over the behaviour of HTTP and TCP clients. Feign already uses Ribbon, so if you are using FeignClient then this section also applies. —–摘自官網 ribbon是一個負載均衡客…

[學習筆記]支配樹

被支配樹支配的恐懼 定義 顯然&#xff0c;這個支配關系是一個樹&#xff08;或者如果有的點不能從r到達&#xff0c;就是一個樹一堆點&#xff09;。 首先不會成環&#xff0c;其次也不會是DAG 即如果A支配C&#xff0c;B支配C&#xff0c;那么A和B之間必然有支配關系 解法 首…

RBAC 權限設計(轉載)

來源 &#xff1a;https://blog.csdn.net/rocher88/article/details/43190743 這是我在網上找的一些設計比較好的RBAC權限管理不知道&#xff0c;像新浪、搜狐、網易、百度、阿里巴巴、淘寶網的RBAC用戶權限這一塊&#xff0c;都是這種細顆粒的RBAC設計開發&#xff0c;還是把他…

54.get set

當程序查詢對象屬性時調用get方法,如果只有get方法那么他是一個只讀屬性&#xff0c;//程序對對象屬性進行賦值操作時調用set方法&#xff0c;如果只有set方法那么他是是一個只讀屬性 <script type"text/javascript">var p {x:1.0,y:1.0,//當程序查詢對象屬性…

Codeforces Round #554 Div.2 E - Neko and Flashback

歐拉路徑 神題啊神題&#xff01;這道題的突破口就是后兩個數組每個元素是一一對應的。 也就是說&#xff0c;對于一個p的排列&#xff0c;b和c取得每一個元素的下標在p中都是一樣的。 根據b和c數組的性質可以得出&#xff0c;b[i] < c[i]。 這也是我們輸出-1的一個判斷方法…

20172311 2017-2018-2 《程序設計與數據結構》第八周學習總結

20172311 2017-2018-2 《程序設計與數據結構》第八周學習總結 教材學習內容總結 本周對JAVA中的多態性進行了學習 多態性引用能夠隨時間變化指向不同類型的對象&#xff0c;是通過后綁定實現的。實現多態性的主要途徑有兩種&#xff1a; 1.由繼承實現多態性 2.利用接口實現多態…

Linux系統安裝Apache 2.4.6

http://www.cnblogs.com/kerrycode/p/3261101.html Apache簡介 Apache HTTP Server&#xff08;簡稱Apache&#xff09;是Apache軟件基金會的一個開放源碼的網頁服務器&#xff0c;可以在大多數計算機操作系統中運行&#xff0c;由于其多平臺和安全性被廣泛使用&#xff0c;是最…

深淺拷貝

lst1 ["金毛獅王", "紫衫龍王", "白眉鷹王", "青翼蝠王"] lst2 lst1 print(lst1) print(lst2) lst1.append("楊逍") print(lst1) print(lst2) # 結果: # [金毛獅王, 紫衫龍王, 白眉鷹王, 青翼蝠王, 楊逍] # [金毛獅王 紫衫…

lnmp化境開啟pathinfo,支持tp5.0等訪問

一、 開啟pathinfo   #注釋 下面這一行 #include enable-php.conf #載入新的配置文件 include enable-php-pathinfo.conf #添加如下location / {if (!-e $request_filename){rewrite ^/(.*)$ /index.php/$1 last;break;}}location ~ /index.php {fastcgi_pass 127.0.0.1:…

深度解密GO語言之反射

反射和 Interface 息息相關&#xff0c;而 Interface 是我們上一篇文章的內容。在開始正文前&#xff0c;和大家說點題外話。 上一篇關于 Interface 的文章發出后&#xff0c;獲得了很多的關注和閱讀。比如&#xff0c;登上了 GoCN 的每日新聞第一條&#xff1a; 可能是編輯者覺…