爬取豆瓣的战狼影评(cookies 云词)

         本文介绍爬豆瓣电影的战狼影评,并将影评进行清除(去符号、分词、去重、统计),最终做成词云。

         最重要的是,豆瓣是需要登录的,如果不登录,爬到第十页左右,会失败。登录的话,可以爬到6000多个影评,才会需要验证码。

         登录是cookies。先要模拟登录,这样可以得到网页返回的信息,然后利用这些信息,去request申请网页,得到网页返回的html信息(包含影评信息等)。得到后,进行正则语言来筛选出自己要的信息,保存在zy.csv中。PS:因为这个模拟登录,最后只登陆一次,因为如频繁登录,会被要求输入验证码,是一件相当麻烦而且目前我还未能解决的问题,所以当第一次模拟登录得到信息后,就可以将模拟登录这里的代码屏蔽掉。

 

整体代码如下:(python_pachong项目中的huic.py中的代码)

#!/usr/bin/env python

# coding=utf-8

from  Tkinter import*

import  tkMessageBox

import  urllib

import  urllib2

import  re

import  requests

import  sys

import  csv

import  codecs

import  cookielib

from  pip._vendor.requests.cookies  import  CookieConflictError

 

reload(sys)

sys.setdefaultencoding("utf-8")

csvfile=file('zy.csv','wb')

csvfile.write(codecs.BOM_UTF8)

writer=csv.writer(csvfile)

 

def  DoPa(html):                              #两个参数传进来的是URL一个编好码的K-V

   

#以下这些cookie之类的,就是已经知道了登录返回信息,可以利用这些cookie信息去爬网页,然后正则语言来抠出有用信息。

    # 创建MozillaCookieJar实例对象

   cookie = cookielib.MozillaCookieJar()

   # 从文件中读取cookie内容到变量

   cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True)

   # 创建请求的request

   req = urllib2.Request(html)

   # 利用urllib2build_opener方法创建一个opener

   print cookie

   opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))

   response = opener.open(req)

#     print response.read()

   text=response.read()  

   st=r'<divclass=\"comment\">.*?</div>'

   ll=re.findall(st, text, re.S)

   x=len(ll) 

   for i in range(0,x):

         number=re.compile('.*?<spanclass=\"votes\">(.*?)</span>')

         Num=number.findall(ll[i])     

         name=re.compile(

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值