豆瓣爬蟲大作業:爬取某作者+作者標籤+作品+作品標籤+讀者info(主頁、birthplace、nickname、加入日期)、出生地統計、評論詞頻統計

大作業原話copyV●ᴥ●V

注:①由於電腦原因,爬蟲並未用多線程且安裝scrapy失敗,全程未用啥高級操作,基本是辛苦操作hhh

注:②部分代碼可能與簡書作者“小黃的小憩站”類似,因爲那是我本人,所以emm..

第一部分:輸入你喜歡的中文作家名字,返回作家標籤,主要作品及每部作品總標籤數、主要標籤、短評數、書評數

注:爲縮短爬蟲時間,最好爬完前十幾本就停下吧hhh(會有提示是否繼續的操作)

第二部分:作者主要作品各前20位評論者個人頁面展示;

第三部分:以上羅列的第一部作品讀者情況的具體展示:

①讀者個人頁面、地址,nickname,加入時間(有些用戶未填地址)

注:每爬取10個讀者信息會提醒你是否能繼續,建議最好爬取20-30個,既不耗太多時間又能爲②③的圖表繪製提供更詳實的數據

②讀者出生地豎狀圖
③讀者評論詞雲+詞頻直方圖

要查看該作者其他書籍讀者情況 請將源代碼booknameList[0]與numsOfShortReview[0])//20中的0改爲其他較小的數字。

#說明:請勿搜索一些很冷門的作者或作品
import urllib
import re
import urllib.request
headers=("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0")
opener = urllib.request.build_opener()
opener.addheaders = [headers]
#將opener安裝爲全局
urllib.request.install_opener(opener)

search=input('輸入你想搜索的作者(中文名):')
search=urllib.parse.quote(search)
print('https://book.douban.com/tag/'+str(search))
data3=urllib.request.urlopen('https://book.douban.com/tag/'+str(search)).read().decode("utf-8")

#構建對應作者作品的正則表達式
bookwebPattern='<h2 class="">\n\s\s\s\s\s\s\s\s\s\s\s\s\s\s<a href="(.*?)" title="'
bookweb=re.compile(bookwebPattern).findall(data3)

websOfBookReview=[]
numsOfShortReview=[]
booknameList=[]
flag='1'

print('該作者主要作品:')

#依次打印每部作品名稱及對應標籤
for i in bookweb:

    data4=urllib.request.urlopen(i).read().decode("utf-8")
    #構建對應作者特定作品名稱的正則表達式   
    booknamePattern='v:itemreviewed">(.*?)<'
    bookname=re.compile(booknamePattern).findall(data4)
    booknameList.append(bookname)
    print('書名:',bookname,i)    
    #構建對應作者特定作品標籤的正則表達式    
    certainBookTagPattern='tag" href="/tag/(.*?)">'
    certainBookTag=re.compile(certainBookTagPattern).findall(data4)
    #構建對應作者特定作品總標籤數的正則表達式
    tagnumsPattern='豆瓣成員常用的標籤(.*?)<'
    tagnums=re.compile(tagnumsPattern).findall(data4)
    print('總標籤數:',str(tagnums),'主要標籤:',certainBookTag)
    #構建對應作者特定作品評論網頁的正則表達式
    readerPattern='<a\shref="(.*?)">全部(.*?)條'
    reader=re.compile(readerPattern).findall(data4)
    #將幾部作品的讀者評論網頁記錄在websOfBookReview列表,待呈現完作者及主要作品的主要情況後再據需統計某幾部作品讀者情況
    websOfBookReview.append(reader[0][0])
    numsOfShortReview.append(reader[0][1])
    if len(booknameList)%10 and len(booknameList)>10:
        flag=input('want to stop analysizing more users? press 0 to quit else press 1:')
        if flag=='0':        
            break
    print('短評網頁+數量:',reader[0][0],reader[0][1],'書評數量:',reader[1][1],'\n')
for i in range(len(websOfBookReview)):
    print(booknameList[i],'前20位評論者個人頁面展示:')
    data5=urllib.request.urlopen(websOfBookReview[i]).read().decode("utf-8")
    bookname=re.compile(booknamePattern).findall(data4)
    #構建對應特定讀者個人主頁的正則表達式
    webOfCertainUserPattern='<a title=".*?"\shref="(.*?)>\s*?<img'
    webOfCertainUser=re.compile(webOfCertainUserPattern).findall(data5)
    print(webOfCertainUser)


numOfCountedUsers=0
addressList=[]
bookcomment=[]
num='1' #停止標識符,當覺得時間等的夠久了或收集的數據足夠多了就可輸入0以停止爬蟲
print('以下爲',booknameList[0],'讀者情況的具體展示,要查看該作者其他書籍讀者情況',\
      '請將源代碼booknameList[0]與numsOfShortReview[0])//20中的0改爲其他較小的數字。\n')
for i in range(int(numsOfShortReview[0])//20):#①評論絕大多數爲短評,因爬蟲時間有限只考慮短評。②每個評論頁有20個用戶
    #③這裏numsOfShortReview[0]指要對第一本書讀者進行統計,事實上numsOfShortReview[1]也行(對第二本書讀者進行統計)
    if num=='0':        
        break
    data5=urllib.request.urlopen(websOfBookReview[0]+'hot?p='+str(i)).read().decode("utf-8")
    bookname=re.compile(booknamePattern).findall(data5)
    #構建對應特定作品讀者評論的正則表達式
    commentPattern='<p class="comment-content">\s.*?\n.*?<span class="short">(.*?)<\/span>'
    comment=re.compile(commentPattern).findall(data5)
    bookcomment.append(comment)
    #構建對應特定讀者個人主頁的正則表達式
    webOfCertainUserPattern='<a title=".*?"\shref="(.*?)">\s*?<img '
    webOfCertainUserTemp=re.compile(webOfCertainUserPattern).findall(data5)
    
    for j in webOfCertainUserTemp:
        
        data6=urllib.request.urlopen(j).read().decode("utf-8")
        bookname=re.compile(booknamePattern).findall(data6)
        #構建對應特定讀者個人主頁居住地及加入日期的正則表達式
        InfoUserPattern='常居:&nbsp;<a href=".*?>(.*?)<\/a>.*?\n\n.*?class.*?>(.*?)<.*?>(.*?)<\/div>'
        InfoUser=re.compile(InfoUserPattern).findall(data6)
        print('讀者個人頁面:',j,'地址,nickname,加入時間(有些用戶未填地址):',InfoUser)
        if InfoUser !=[]:
            addressList.append(InfoUser[0][0])
            numOfCountedUsers+=1
        if numOfCountedUsers%10==0:
            num=input('want to stop analysizing more users? press 0 to quit else press 1:')
        if num=='0':        
            break
print("\n第二部分--已爬取讀者的常住地分佈:(因時間關係部分讀者未爬故未統計)")     

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
for item in set(addressList):
    print('nums of',item,':',addressList.count(item))

# 中文和負號的正常顯示
matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑體顯示中文
matplotlib.rcParams['axes.unicode_minus']=False     # 正常顯示負號

addressDataFrame=pd.Series(addressList)
addressDataFrame=addressDataFrame.value_counts().sort_values(ascending=False)
#當讀者太多,出生地址太多時,去頻率最高的前20個進行展示
if len(addressDataFrame)<20:
    pass
else:
    addressDataFrame=addressDataFrame[1:20]
plt.xticks(rotation=90)
plt.bar(addressDataFrame.index,addressDataFrame)
plt.show()

print('\n第三部分--對',str(booknameList[0]),'的評論詞頻統計:')
from wordcloud import WordCloud,ImageColorGenerator
import  matplotlib.pyplot as plt
from scipy.misc import imread
import jieba
import jieba.analyse
import os, codecs
from collections import Counter
tags = jieba.analyse.extract_tags(str(bookcomment), topK=100, withWeight=False)
text =" ".join(tags)
# text = unicode(text)

#讀入背景圖片
bj_pic=imread('ciyun.jpg')

#生成詞雲(通常字體路徑均設置在C:\\Windows\\Fonts\\也可自行下載)
font=r'C:\\Windows\\Fonts\\STFANGSO.ttf'#不加這一句顯示口字形亂碼  ""報錯 
wordcloud=WordCloud(mask=bj_pic,background_color='white',font_path=font,scale=3.5).generate(text)
  #img_color = ImageColorGenerator(self.img)
image_colors=ImageColorGenerator(bj_pic)
#顯示詞雲

plt.imshow(wordcloud)
plt.axis('off')
plt.show()

wordcloud.to_file('test.jpg')

#詞頻統計

seg_list = jieba.cut(str(bookcomment))
c = Counter()
for x in seg_list:
    if len(x)>1 and x != '\r\n':
        c[x] += 1
hotWordIntext=[]
hotWordNumIntext=[]
for (k,v) in c.most_common(20):
    hotWordIntext.append(k)
    hotWordNumIntext.append(v)
hotWordIntextDataFrame=pd.DataFrame(hotWordNumIntext,index=hotWordIntext,columns=['nums'])
#當讀者太多,出生地址太多時,去頻率最高的前20個進行展示
print('熱點詞頻度統計結果(只顯示前20)')
plt.xticks(rotation=90)
plt.bar(hotWordIntextDataFrame.index,hotWordIntextDataFrame.nums)
plt.show()    

bookcomment=[]
hotWordIntext=[]
hotWordNumIntext=[]
addressList=[]
websOfBookReview=[] #爲防止下次冗餘而特地清空評論網頁列表
booknameList=[]
numsOfShortReview=[]
輸入你想搜索的作者(中文名):金庸
https://book.douban.com/tag/%E9%87%91%E5%BA%B8
該作者主要作品:
書名: ['天龍八部'] https://book.douban.com/subject/1255625/
總標籤數: ['(共1616個)'] 主要標籤: ['金庸', '武俠', '天龍八部', '小說', '武俠小說', '經典', '中國文學', '中國']
短評網頁+數量: https://book.douban.com/subject/1255625/comments/  11030  書評數量:  714  

書名: ['笑傲江湖(全四冊)'] https://book.douban.com/subject/1002299/
總標籤數: ['(共1572個)'] 主要標籤: ['金庸', '武俠', '笑傲江湖', '小說', '武俠小說', '經典', '中國', '中國文學']
短評網頁+數量: https://book.douban.com/subject/1002299/comments/  10109  書評數量:  542  

書名: ['神鵰俠侶'] https://book.douban.com/subject/1255624/
總標籤數: ['(共1384個)'] 主要標籤: ['金庸', '武俠', '神鵰俠侶', '小說', '武俠小說', '經典', '愛情', '中國']
短評網頁+數量: https://book.douban.com/subject/1255624/comments/  7751  書評數量:  388  

書名: ['射鵰英雄傳(全四冊)'] https://book.douban.com/subject/1044547/
總標籤數: ['(共933個)'] 主要標籤: ['金庸', '武俠', '射鵰英雄傳', '小說', '武俠小說', '經典', '中國', '中國文學']
短評網頁+數量: https://book.douban.com/subject/1044547/comments/  4547  書評數量:  388  

書名: ['鹿鼎記(全五冊)'] https://book.douban.com/subject/1212893/
總標籤數: ['(共828個)'] 主要標籤: ['金庸', '武俠', '鹿鼎記', '小說', '武俠小說', '經典', '韋小寶', '中國']
短評網頁+數量: https://book.douban.com/subject/1212893/comments/  3540  書評數量:  268  

書名: ['倚天屠龍記(共四冊)'] https://book.douban.com/subject/1070851/
總標籤數: ['(共795個)'] 主要標籤: ['金庸', '武俠', '倚天屠龍記', '小說', '武俠小說', '經典', '中國', '中國文學']
短評網頁+數量: https://book.douban.com/subject/1070851/comments/  3887  書評數量:  212  

書名: ['金庸作品集'] https://book.douban.com/subject/2218216/
總標籤數: ['(共181個)'] 主要標籤: ['金庸', '武俠', '經典', '武俠小說', '金庸作品集', '小說', '中國文學', '文學']
短評網頁+數量: https://book.douban.com/subject/2218216/comments/  1023  書評數量:  82  

書名: ['金庸全集'] https://book.douban.com/subject/3532347/
總標籤數: ['(共148個)'] 主要標籤: ['金庸', '武俠', '小說', '武俠小說', '經典', '金庸全集', '三聯', '中國文學']
短評網頁+數量: https://book.douban.com/subject/3532347/comments/  667  書評數量:  27  

書名: ['倚天屠龍記'] https://book.douban.com/subject/1789841/
總標籤數: ['(共567個)'] 主要標籤: ['金庸', '武俠', '小說', '武俠小說', '倚天屠龍記', '經典', '中國', '中國文學']
短評網頁+數量: https://book.douban.com/subject/1789841/comments/  3415  書評數量:  189  

書名: ['金庸江湖志'] https://book.douban.com/subject/27025043/
總標籤數: ['(共27個)'] 主要標籤: ['金庸', '隨筆', '類別/文學評論', '作家/劉勃', '武俠', '文學', '武評', '文學雜論']
短評網頁+數量: https://book.douban.com/subject/27025043/comments/  35  書評數量:  1  

書名: ['金庸師承考'] https://book.douban.com/subject/27025053/
總標籤數: ['(共27個)'] 主要標籤: ['金庸', '武俠', '考據', '文學', '隨筆', '文學雜論', '傳記', '2017']
want to stop analysizing more users? press 0 to quit else press 1:0
['天龍八部'] 前20位評論者個人頁面展示:
['https://www.douban.com/people/Q598176297/"', 'https://www.douban.com/people/andy.L/"', 'https://www.douban.com/people/48569791/"', 'https://www.douban.com/people/RongFuYiTai6/"', 'https://www.douban.com/people/hovialy/"', 'https://www.douban.com/people/thinkingmind/"', 'https://www.douban.com/people/esunchien/"', 'https://www.douban.com/people/zhoukang/"', 'https://www.douban.com/people/Uroboros/"', 'https://www.douban.com/people/llll916/"', 'https://www.douban.com/people/35683587/"', 'https://www.douban.com/people/luxiaobao/"', 'https://www.douban.com/people/haha65ma/"', 'https://www.douban.com/people/Jerry-feng/"', 'https://www.douban.com/people/teenspiritkkl/"', 'https://www.douban.com/people/otaku_not_in/"', 'https://www.douban.com/people/amoyi04/"', 'https://www.douban.com/people/putengfei/"', 'https://www.douban.com/people/samantha61272/"', 'https://www.douban.com/people/luxifaer/"']
['笑傲江湖(全四冊)'] 前20位評論者個人頁面展示:
['https://www.douban.com/people/cxmin/"', 'https://www.douban.com/people/Uroboros/"', 'https://www.douban.com/people/DreamerWang/"', 'https://www.douban.com/people/yamamaya/"', 'https://www.douban.com/people/tzy608/"', 'https://www.douban.com/people/guo77/"', 'https://www.douban.com/people/liubinyan/"', 'https://www.douban.com/people/hexiaoqin/"', 'https://www.douban.com/people/60619603/"', 'https://www.douban.com/people/thinkingmind/"', 'https://www.douban.com/people/dancebaby/"', 'https://www.douban.com/people/floatingmeat/"', 'https://www.douban.com/people/3200262/"', 'https://www.douban.com/people/x3df16/"', 'https://www.douban.com/people/woaiyaya/"', 'https://www.douban.com/people/ashinstancy/"', 'https://www.douban.com/people/dingxu/"', 'https://www.douban.com/people/Hamlet-Luang/"', 'https://www.douban.com/people/nettoyer/"', 'https://www.douban.com/people/audreyang/"']
['神鵰俠侶'] 前20位評論者個人頁面展示:
['https://www.douban.com/people/baiaige/"', 'https://www.douban.com/people/Uroboros/"', 'https://www.douban.com/people/yoyoyoyoyoyoyo/"', 'https://www.douban.com/people/Jerry-feng/"', 'https://www.douban.com/people/chenmodewan/"', 'https://www.douban.com/people/bcbulang/"', 'https://www.douban.com/people/feelvoice/"', 'https://www.douban.com/people/1915877/"', 'https://www.douban.com/people/graypick/"', 'https://www.douban.com/people/41696616/"', 'https://www.douban.com/people/lililalilila/"', 'https://www.douban.com/people/huanwen/"', 'https://www.douban.com/people/yuxiaofan/"', 'https://www.douban.com/people/Dathia_/"', 'https://www.douban.com/people/1002226/"', 'https://www.douban.com/people/100593744/"', 'https://www.douban.com/people/giverny/"', 'https://www.douban.com/people/river712/"', 'https://www.douban.com/people/Azeril/"', 'https://www.douban.com/people/diaoduoxi/"']
['射鵰英雄傳(全四冊)'] 前20位評論者個人頁面展示:
['https://www.douban.com/people/angelicaljoe/"', 'https://www.douban.com/people/woqizhema/"', 'https://www.douban.com/people/36541079/"', 'https://www.douban.com/people/amsingapore/"', 'https://www.douban.com/people/huangrs555/"', 'https://www.douban.com/people/llll916/"', 'https://www.douban.com/people/131697546/"', 'https://www.douban.com/people/echobest/"', 'https://www.douban.com/people/panhan/"', 'https://www.douban.com/people/lingxiaxia/"', 'https://www.douban.com/people/houtouchong/"', 'https://www.douban.com/people/SlingXXXBlade/"', 'https://www.douban.com/people/pcissi/"', 'https://www.douban.com/people/ayida365/"', 'https://www.douban.com/people/Uroboros/"', 'https://www.douban.com/people/jfzj/"', 'https://www.douban.com/people/ztftom/"', 'https://www.douban.com/people/30574292/"', 'https://www.douban.com/people/lazycat_eva/"', 'https://www.douban.com/people/huangjingyun/"']
['鹿鼎記(全五冊)'] 前20位評論者個人頁面展示:
['https://www.douban.com/people/tanglu1110/"', 'https://www.douban.com/people/thinkingmind/"', 'https://www.douban.com/people/35819210/"', 'https://www.douban.com/people/bcbulang/"', 'https://www.douban.com/people/shanelean/"', 'https://www.douban.com/people/18606192/"', 'https://www.douban.com/people/4058013/"', 'https://www.douban.com/people/RongFuYiTai6/"', 'https://www.douban.com/people/tongchu/"', 'https://www.douban.com/people/Jerry-feng/"', 'https://www.douban.com/people/jokers/"', 'https://www.douban.com/people/melody1971/"', 'https://www.douban.com/people/172453309/"', 'https://www.douban.com/people/bighead/"', 'https://www.douban.com/people/jiegumu/"', 'https://www.douban.com/people/zishuiyilan/"', 'https://www.douban.com/people/szemm/"', 'https://www.douban.com/people/2922325/"', 'https://www.douban.com/people/jiajiaaixuexi/"', 'https://www.douban.com/people/CFJ/"']
['倚天屠龍記(共四冊)'] 前20位評論者個人頁面展示:
['https://www.douban.com/people/xyws/"', 'https://www.douban.com/people/2158612/"', 'https://www.douban.com/people/pixstones/"', 'https://www.douban.com/people/jfzj/"', 'https://www.douban.com/people/piaoliumutou/"', 'https://www.douban.com/people/51938915/"', 'https://www.douban.com/people/kianfish/"', 'https://www.douban.com/people/charlizheng/"', 'https://www.douban.com/people/moniang/"', 'https://www.douban.com/people/toamo/"', 'https://www.douban.com/people/4295926/"', 'https://www.douban.com/people/asoloman/"', 'https://www.douban.com/people/ztftom/"', 'https://www.douban.com/people/jeffersontang/"', 'https://www.douban.com/people/knoppix/"', 'https://www.douban.com/people/neverecho/"', 'https://www.douban.com/people/Uroboros/"', 'https://www.douban.com/people/kkdolphin/"', 'https://www.douban.com/people/yuxiaofan/"', 'https://www.douban.com/people/18606192/"']
['金庸作品集'] 前20位評論者個人頁面展示:
['https://www.douban.com/people/yoyoyoyoyoyoyo/"', 'https://www.douban.com/people/memotown07/"', 'https://www.douban.com/people/QianMinjie/"', 'https://www.douban.com/people/46602436/"', 'https://www.douban.com/people/phoebejk/"', 'https://www.douban.com/people/carrie_j/"', 'https://www.douban.com/people/aibufen/"', 'https://www.douban.com/people/RYweiyang/"', 'https://www.douban.com/people/yobalcony/"', 'https://www.douban.com/people/2434887/"', 'https://www.douban.com/people/Rockyxx/"', 'https://www.douban.com/people/2282003/"', 'https://www.douban.com/people/tengyu/"', 'https://www.douban.com/people/queen_kw/"', 'https://www.douban.com/people/xuannov/"', 'https://www.douban.com/people/50275537/"', 'https://www.douban.com/people/JunoZ/"', 'https://www.douban.com/people/AnsonWan/"', 'https://www.douban.com/people/tttttgarden/"', 'https://www.douban.com/people/3017985/"']
['金庸全集'] 前20位評論者個人頁面展示:
['https://www.douban.com/people/knoppix/"', 'https://www.douban.com/people/renshuangxia/"', 'https://www.douban.com/people/luhua/"', 'https://www.douban.com/people/35819210/"', 'https://www.douban.com/people/kevindreamfly/"', 'https://www.douban.com/people/yamamaya/"', 'https://www.douban.com/people/liveonnoevil/"', 'https://www.douban.com/people/Reuenthal/"', 'https://www.douban.com/people/luoxr/"', 'https://www.douban.com/people/abracadebraie/"', 'https://www.douban.com/people/bendao/"', 'https://www.douban.com/people/26425322/"', 'https://www.douban.com/people/mattviola/"', 'https://www.douban.com/people/luchun/"', 'https://www.douban.com/people/53072535/"', 'https://www.douban.com/people/RYweiyang/"', 'https://www.douban.com/people/youyv/"', 'https://www.douban.com/people/xiaoxinzei/"', 'https://www.douban.com/people/137573685/"', 'https://www.douban.com/people/2691728/"']
['倚天屠龍記'] 前20位評論者個人頁面展示:
['https://www.douban.com/people/ilovelittlesnow/"', 'https://www.douban.com/people/joyjoy2/"', 'https://www.douban.com/people/Ixtab/"', 'https://www.douban.com/people/thinkingmind/"', 'https://www.douban.com/people/ranwei/"', 'https://www.douban.com/people/ekisyou/"', 'https://www.douban.com/people/PomBom/"', 'https://www.douban.com/people/jiegumu/"', 'https://www.douban.com/people/yimihai/"', 'https://www.douban.com/people/poltergeist/"', 'https://www.douban.com/people/1884631/"', 'https://www.douban.com/people/51549032/"', 'https://www.douban.com/people/panhan/"', 'https://www.douban.com/people/naocanqiang/"', 'https://www.douban.com/people/feelvoice/"', 'https://www.douban.com/people/56500125/"', 'https://www.douban.com/people/melody1971/"', 'https://www.douban.com/people/reaplay/"', 'https://www.douban.com/people/Q598176297/"', 'https://www.douban.com/people/Erman-Wei/"']
['金庸江湖志'] 前20位評論者個人頁面展示:
['https://www.douban.com/people/39008769/"', 'https://www.douban.com/people/huanwen/"', 'https://www.douban.com/people/29007604/"', 'https://www.douban.com/people/45074177/"', 'https://www.douban.com/people/kfcai/"', 'https://www.douban.com/people/renzicai/"', 'https://www.douban.com/people/yuyanlin/"', 'https://www.douban.com/people/BenGlen/"', 'https://www.douban.com/people/jeanky/"', 'https://www.douban.com/people/kergee/"', 'https://www.douban.com/people/3195337/"', 'https://www.douban.com/people/47241007/"', 'https://www.douban.com/people/43707842/"', 'https://www.douban.com/people/33230145/"', 'https://www.douban.com/people/61452683/"', 'https://www.douban.com/people/122509122/"', 'https://www.douban.com/people/64155300/"', 'https://www.douban.com/people/evansey/"', 'https://www.douban.com/people/Natezhang/"', 'https://www.douban.com/people/148908017/"']
['金庸師承考'] 前20位評論者個人頁面展示:
['https://www.douban.com/people/45074177/"', 'https://www.douban.com/people/39008769/"', 'https://www.douban.com/people/jeanky/"', 'https://www.douban.com/people/67459918/"', 'https://www.douban.com/people/46610300/"', 'https://www.douban.com/people/2843196/"', 'https://www.douban.com/people/2294702/"', 'https://www.douban.com/people/rjbfq/"', 'https://www.douban.com/people/evansey/"', 'https://www.douban.com/people/68321623/"', 'https://www.douban.com/people/47241007/"', 'https://www.douban.com/people/64155300/"', 'https://www.douban.com/people/131615477/"', 'https://www.douban.com/people/156796942/"', 'https://www.douban.com/people/lovezone/"', 'https://www.douban.com/people/71538147/"', 'https://www.douban.com/people/158258095/"', 'https://www.douban.com/people/178349453/"', 'https://www.douban.com/people/woniuzailushang/"', 'https://www.douban.com/people/162614038/"']
以下爲 ['天龍八部'] 讀者情況的具體展示,要查看該作者其他書籍讀者情況 請將源代碼booknameList[0]與numsOfShortReview[0])//20中的0改爲其他較小的數字。

讀者個人頁面: https://www.douban.com/people/Q598176297/ 地址,nickname,加入時間(有些用戶未填地址): [('廣東廣州', 'Q598176297 ', ' 2012-04-24加入')]
讀者個人頁面: https://www.douban.com/people/andy.L/ 地址,nickname,加入時間(有些用戶未填地址): [('上海', 'andy.L ', ' 2008-08-03加入')]
讀者個人頁面: https://www.douban.com/people/48569791/ 地址,nickname,加入時間(有些用戶未填地址): [('西藏山南', '48569791 ', ' 2011-01-04加入')]
讀者個人頁面: https://www.douban.com/people/RongFuYiTai6/ 地址,nickname,加入時間(有些用戶未填地址): [('Atlanta, United States', 'RongFuYiTai6 ', ' 2009-12-09加入')]
讀者個人頁面: https://www.douban.com/people/hovialy/ 地址,nickname,加入時間(有些用戶未填地址): [('Seattle, United States', 'hovialy ', ' 2006-11-24加入')]
讀者個人頁面: https://www.douban.com/people/thinkingmind/ 地址,nickname,加入時間(有些用戶未填地址): [('北京', 'thinkingmind ', ' 2011-08-07加入')]
讀者個人頁面: https://www.douban.com/people/esunchien/ 地址,nickname,加入時間(有些用戶未填地址): [('北京', 'esunchien ', ' 2007-10-14加入')]
讀者個人頁面: https://www.douban.com/people/zhoukang/ 地址,nickname,加入時間(有些用戶未填地址): [('Roma, Italy', 'zhoukang ', ' 2006-03-08加入')]
讀者個人頁面: https://www.douban.com/people/Uroboros/ 地址,nickname,加入時間(有些用戶未填地址): [('Dublin (Baile Átha Cliath), Ireland', 'Uroboros ', ' 2009-03-25加入')]
讀者個人頁面: https://www.douban.com/people/llll916/ 地址,nickname,加入時間(有些用戶未填地址): [('北京', 'llll916 ', ' 2007-02-04加入')]
want to stop analysizing more users? press 0 to quit else press 1:1
讀者個人頁面: https://www.douban.com/people/35683587/ 地址,nickname,加入時間(有些用戶未填地址): [('上海', '35683587 ', ' 2010-02-22加入')]
讀者個人頁面: https://www.douban.com/people/luxiaobao/ 地址,nickname,加入時間(有些用戶未填地址): [('上海', 'luxiaobao ', ' 2009-11-19加入')]
讀者個人頁面: https://www.douban.com/people/haha65ma/ 地址,nickname,加入時間(有些用戶未填地址): [('北京', 'haha65ma ', ' 2009-10-28加入')]
讀者個人頁面: https://www.douban.com/people/Jerry-feng/ 地址,nickname,加入時間(有些用戶未填地址): [('北京', 'Jerry-feng ', ' 2011-01-17加入')]
讀者個人頁面: https://www.douban.com/people/teenspiritkkl/ 地址,nickname,加入時間(有些用戶未填地址): [('北京', 'teenspiritkkl ', ' 2007-12-12加入')]
讀者個人頁面: https://www.douban.com/people/otaku_not_in/ 地址,nickname,加入時間(有些用戶未填地址): [('北京', 'otaku_not_in ', ' 2010-10-07加入')]
讀者個人頁面: https://www.douban.com/people/amoyi04/ 地址,nickname,加入時間(有些用戶未填地址): [('P&#39;yŏngyang, North Korea', 'amoyi04 ', ' 2010-04-03加入')]
讀者個人頁面: https://www.douban.com/people/putengfei/ 地址,nickname,加入時間(有些用戶未填地址): [('北京', 'putengfei ', ' 2008-12-03加入')]
讀者個人頁面: https://www.douban.com/people/samantha61272/ 地址,nickname,加入時間(有些用戶未填地址): [('北京', 'samantha61272 ', ' 2008-11-17加入')]
讀者個人頁面: https://www.douban.com/people/luxifaer/ 地址,nickname,加入時間(有些用戶未填地址): [('北京', 'luxifaer ', ' 2009-05-18加入')]
want to stop analysizing more users? press 0 to quit else press 1:1
讀者個人頁面: https://www.douban.com/people/jeffersontang/ 地址,nickname,加入時間(有些用戶未填地址): [('上海', 'jeffersontang ', ' 2011-05-24加入')]
讀者個人頁面: https://www.douban.com/people/sungdebbie/ 地址,nickname,加入時間(有些用戶未填地址): [('廣東廣州', 'sungdebbie ', ' 2007-05-29加入')]
讀者個人頁面: https://www.douban.com/people/59291955/ 地址,nickname,加入時間(有些用戶未填地址): [('北京', '59291955 ', ' 2012-03-08加入')]
讀者個人頁面: https://www.douban.com/people/jinduoduo/ 地址,nickname,加入時間(有些用戶未填地址): [('湖北神農架林區', 'jinduoduo ', ' 2009-04-09加入')]
讀者個人頁面: https://www.douban.com/people/DeadWalker/ 地址,nickname,加入時間(有些用戶未填地址): [('北京', 'DeadWalker ', ' 2008-01-24加入')]
讀者個人頁面: https://www.douban.com/people/naocanqiang/ 地址,nickname,加入時間(有些用戶未填地址): [('London, United Kingdom', 'naocanqiang ', ' 2006-03-18加入')]
讀者個人頁面: https://www.douban.com/people/tongchu/ 地址,nickname,加入時間(有些用戶未填地址): [('北京', 'tongchu ', ' 2005-08-22加入')]
讀者個人頁面: https://www.douban.com/people/sophielikeit/ 地址,nickname,加入時間(有些用戶未填地址): []
讀者個人頁面: https://www.douban.com/people/suev/ 地址,nickname,加入時間(有些用戶未填地址): [('Ciudad de Panamá, Panama', 'suev ', ' 2009-05-12加入')]
讀者個人頁面: https://www.douban.com/people/oranjeruud/ 地址,nickname,加入時間(有些用戶未填地址): [('上海', 'oranjeruud ', ' 2008-10-05加入')]
讀者個人頁面: https://www.douban.com/people/sephiroth_fool/ 地址,nickname,加入時間(有些用戶未填地址): [('上海', 'sephiroth_fool ', ' 2007-10-28加入')]
want to stop analysizing more users? press 0 to quit else press 1:0

第二部分--已爬取讀者的常住地分佈:(因時間關係部分讀者未爬故未統計)
nums of 西藏山南 : 1
nums of Ciudad de Panamá, Panama : 1
nums of 湖北神農架林區 : 1
nums of 北京 : 13
nums of Seattle, United States : 1
nums of London, United Kingdom : 1
nums of Dublin (Baile Átha Cliath), Ireland : 1
nums of 上海 : 6
nums of Roma, Italy : 1
nums of 廣東廣州 : 2
nums of P&#39;yŏngyang, North Korea : 1
nums of Atlanta, United States: 1
第三部分--對 ['天龍八部'] 評論的‘熱點詞頻’統計:


C:\Users\lenovo\Anaconda3\lib\site-packages\ipykernel_launcher.py:135: DeprecationWarning: `imread` is deprecated!
`imread` is deprecated in SciPy 1.0.0, and will be removed in 1.2.0.
Use ``imageio.imread`` instead.
熱點詞頻度統計結果(只顯示前20)

可見詞雲統計還是比熱點詞頻統計(其實也運用某種手段去除了常見的虛詞)準很多的嘿嘿嘿

選題思路+爬坑感想

選題原因:1-難度最大 2-未來想從事 量化交易,爬取金融數據是basic skills 3-這項技能的實用性太吸引人啦

坑點:

1-學習sources的難度:網絡資料較零散,很多作者直接貼代碼,闡述原理不清楚;圖書館相關資料被借走,系統翻閱書籍困難

2-剛學爬蟲時有些視頻爬嗶哩嗶哩,但動態網頁很多東東顯式的與視頻裏的有出入,這樣延緩了學習進度

3-正則表達式有丟丟煩,心情煩亂時看着彆扭

4-道高一尺魔高一丈,反爬蟲機制讓人痛苦。。。豆瓣不少網頁要求登錄,參考不少博客知乎的內容也不適用

5-詞頻統計總是會有很多虛詞做干擾項,網上的不少方法效果不佳

過坑小tricks:

1-先在萬門聽老師系統講幾個案例,邊聽邊實操,再廣讀博文,累積到一定量後快速甄別每篇博文的可取、不可取處

2-regex101是正則表達式的超級校驗利器

3-豆瓣有些網頁要登陸,有些不要,但好在尋找圖書可在總頁面找也可專門在豆瓣讀書的頁面找,多逛豆瓣,尋找合適的豆瓣網頁使得不登陸也能爬取同樣內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章