Python爬取豆瓣短评
生活随笔
收集整理的這篇文章主要介紹了
Python爬取豆瓣短评
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
豆瓣短評.py
from multiprocessing import Process #多進程 import threading #多線程 from lxml import etree import requests import time import random import ciyun as cy# //*[@id="comments"]/div[1]/div[2]/h3/span[2]/astart=time.clock()# print(etree.tostring(htmlelement, encoding="utf-8").decode("utf-8")def paqu(id,startpage,endpage,save):j = 1with open("/Users/zhangpengxu/Desktop/爬取影評/paquresult/"+str(save)+".txt", 'w', encoding='utf-8') as f:for a in range(startpage,endpage):#爬取前兩頁for next in range(1,21):#每頁20條評論url="https://movie.douban.com/subject/"+str(id)+"/comments?start="+str(20*a) #哪吒之魔童降世# htmlelement = etree.parse(url, parser=parser)result=requests.get(url).content #使用content 使用text的時候經常解析不出來req = etree.HTML(result) #使用xpath解析links1=req.xpath('//*[@id="comments"]/div['+str(next)+']/div[2]/h3/span[2]/a/text()') #評論IDlinks2=req.xpath('//*[@id="comments"]/div['+str(next)+']/div[2]/p/span/text()') #評論內容links3=req.xpath('//*[@id="comments"]/div['+str(next)+']/div[2]/h3/span[2]/span[3]/text()')#評論日期# links4=req.xpath('//*[@id="comments"]/div['+str(next)+']/div[2]/h3/span[2]/span[2]')#評論分數for i in links1:f.write("%s"%j+":"+"評論ID:"+i+"\n")for i in links2:f.write("評論內容" + ":" + i + "\n")# for i in links4:# f.write("評分" + ":" + i + "\n")for i in links3:f.write("評論日期" + ":" + i + "\n")j += 1time.sleep(random.random()) # 產生 0 到 1 之間的隨機浮點數 防止douban跟蹤print("Pages:"+"%s"%startpage+"to"+"%s"%endpage+" 打印評論完成")f.close() if __name__=="__main__":try:movieid=input('請輸入影片ID(8位數字):')#哪吒 26794435 上海堡壘:26581837 長城:6982558 新喜劇之王:4840388except:print('輸入異常')else:print('輸入影評ID成功')print('***********開始準備獲取豆瓣評論,請等待*********')t1 = threading.Thread(target=paqu, args=(int(movieid),0,1,106,)) #兩個線程同時跑t2 = threading.Thread(target=paqu, args=(int(movieid),1,2,107,))# p1=Process(target=paqu,args=('r1',0,1,66,))# p2=Process(target=paqu,args=('r2',1,2,77,))t1.start()t2.start()t1.join()t2.join()print('*******獲取豆瓣評論完成*************')print('********現在開始生產詞云,請等待***********')c1 = threading.Thread(target=cy.product,args=(106,106,500,))c2 = threading.Thread(target=cy.product,args=(107,107,500,))c1.start()c2.start()c1.join()c2.join()print('生成詞云完成')end=time.clock() print("總耗時",end-start)詞云.py
# author:zhangpengxuimport os import numpy as np import jieba from PIL import Image from wordcloud import WordCloud,STOPWORDSdef product (dk,save,pi): #dk為打開的TXT save為保存的詞云名稱 pi為生成詞云圖片的路徑with open("/Users/zhangpengxu/Desktop/爬取影評/paquresult/"+str(dk)+".txt",'r',encoding='utf-8') as f:text = f.read().replace(' ','').replace('\n','').strip()text = jieba.cut(text)text = ''.join(text)#以下為wordcloud# 刪掉關鍵詞stopwords = set(STOPWORDS)stopwords.add('評論日期')stopwords.add('評論ID')stopwords.add('評論內容')stopwords.add('丁凱樂')douban_mask = np.array(Image.open("/Users/zhangpengxu/Desktop/爬取影評/生成詞云用圖片/"+str(pi)+".jpg"))wc = WordCloud(mask=douban_mask,stopwords=stopwords,font_path="/Users/zhangpengxu/Desktop/爬取影評/Kaiti.ttc",background_color='white',contour_color='steelblue').generate(text)wc.to_file("/Users/zhangpengxu/Desktop/爬取影評/ciyun/"+str(save)+".JPG")測試.py
import ciyun as cy import threading import timestart=time.clock() c1 = threading.Thread(target=cy.product, args=(102, 102,)) c2 = threading.Thread(target=cy.product, args=(102, 103,)) c1.start() c2.start() c1.join() c2.join() print('生成詞云完成')end=time.clock() print("總耗時: ",end-start)txt內容
1:評論ID:字母君 評論內容:諷刺的是,盡管角色口口聲聲說著“做自己”、“我命由己不由天”、“最害人的是成見”,電影卻依然一直在用對肥胖、結巴、娘娘腔等各色缺陷產生的成見制造無價值,且一點都不好笑的笑料。 評論日期:2019-07-142:評論ID:?丁凱樂? 評論內容:實名反對最贊說爛片的評論,這是人類無法逃脫的真香定律! 看完覺得不值票錢可以來快樂星球砍我! 評論日期:2019-07-163:評論ID:嘟嘟熊之父 評論內容:臥槽居然看哭了,這才是貨真價實的國漫新希望,終于不再是假大空的中國風堆砌,而開始借神話寓言塑造真正的“小人物”。背負原罪的出身,命中注定的死期,對存在的篤定和身份的動搖,竟指向《刺客聶隱娘》的內核:一個人,沒有同類。完整的世界觀構建,父子母子師徒兄弟友敵,每一段關系都處理的有血有肉全無敷衍。美術剪輯配樂動作設計,處處都是亮點,就連喜劇部分也絕非裝瘋賣傻而存在無數細節作為支撐。海邊夕陽踢毽和社稷圖虛幻仙境兩部分堪稱絕美段落,飛馳想象力和一流制作實力的結合,值得一刷再刷。嚴格說是四星電影,但愿意加滿五星狂推鼓勵! 評論日期:2019-07-134:評論ID:時間之葬 評論內容:又一次高舉“國產動畫良心”的大旗之前,我好奇的是我們的“良心動畫”為什么非得加入那些尷尬又低級的網絡段子式笑料,難道非得把自己打扮成一半臃腫粗鄙一半熱血激昂的割裂模樣,才足以迎合主流觀眾的口味嗎? 評論日期:2019-07-145:評論ID:天馬星 評論內容:年度最佳動畫,不,年度最佳影片,劇作上的成熟應該讓同檔期的《獅子王》跪下來叫爸爸,起承轉合水到渠成且飽含情感力量,這種成熟度不管是在動畫這種形式里還是脫離動畫都值得所有國產商業電影學習。整部影片看下來,在形式上非?,F代化,包括笑點臺詞都貼近現代網絡化的生活,是謂形散,但是影片把握住了哪吒這個神話人物的內在精神:我命由我不由天,并且自始至終都貫徹下去,是謂神不散,包括反派敖丙及申公豹都人物弧光飽滿,在非我族類其心必異的人類世界里,《哪吒之魔童降世》是為所有異類書寫的頌歌,這部片子就如同蔡依林在金曲獎上說的:獻給那些曾經認為自己沒有任何機會與選擇的你,請你一定要記得選擇你自己,支持你自己。 評論日期:2019-07-14導出詞云圖片
總結
以上是生活随笔為你收集整理的Python爬取豆瓣短评的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java接口练习
- 下一篇: 201871010104-陈园园 《