正文
这个是影评的起始页:豆瓣影评
以下是Python爬虫的代码:
import
requests
import re
import pandas as pd
url_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'}
html=requests.get(url_first,headers=head,cookies=cookies)
cookies={'cookie':'你自己的cookie'} #也就是找到你的账号对应的cookie
reg=re.compile(r'') #下一页
ren=re.compile(r'(.*?).*?comment">(.*?).*?.*?(.*?).*?(.*?).*?title="(.*?)">.*?title="(.*?)">.*?class=""> (.*?)\n',re.S) #评论等内容
while html.status_code==200:
url_next='https://movie.douban.com/subject/26363254/comments'+re.findall(reg,html.text)[0]
zhanlang=re.findall(ren,html.text)
data=pd.DataFrame(zhanlang)
data.to_csv('/home/wajuejiprince/文档/zhanlang/zhanlangpinglun.csv', header=False,index=False,mode='a+') #写入csv文件,'a+'是追加模式
data=[]
zhanlang=[]
html=requests.get(url_next,cookies=cookies,headers=head)
以上代码注意设置你自己的User-Agent,Cookie,CSV保存路径等。
爬取的内容保存成CSV格式的文件。保存的文件内容如下:
数据清洗
本文用R语言来处理数据。虽然在爬取的时候已经非常注意爬取内容的结构了,但是还是不可避免的有一些值不是我们想要的,比如有的评论内容会出现在评论者这一项中。所以还是有必要进行一下数据的清洗。
首先加载要用到的所有包:
library(data.table)
library(plotly)
library(stringr)
library(jiebaR)
library(wordcloud2)
library(magrittr)
导入数据并清洗:
dt